问题标签 [spring-restcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wicket - 如何将 Spring Rest 与 Apache Wicket Web 应用程序集成
我有 Apache Wiket + Spring Web 应用程序,可以正常工作。目前 Spring 使用 DI 框架和过滤移动访问。我们计划在我们的应用程序中使用 Spring Rest,你能告诉我如何在我们现有的 web xml 中做到这一点。
最初,现有的 Web 会话将使用 Rest Api 来访问数据(使用 ajax 调用的 ui 页面),因此我希望 Rest 控制器能够访问现有的 Wicket http 会话(如果使用登录)。例如:来自现有 http 会话的 rest 调用应该能够访问现有的 http 会话。任何的想法 ?感谢并感谢您的时间。
我的想法是使用带有标签的 '<code>org.springframework.web.servlet.DispatcherServlet' ,但是我怀疑这种方式是我想要共享同一个会话吗?
我现有的web.xml
(工作)
java - Spring 在 Rest 中上传时如何验证文件类型、大小?
我正在尝试使用 spring 和 Rest 实现文件上传。这是我到目前为止所做的
这是我的 ImageValidator
但是在通过邮递员进行测试时,如果文件是 pdf 但以一种奇怪的方式显示错误。这是错误的字符串表示形式
“[字段'文件'上的对象'图像'中的字段错误:拒绝值[org.springframework.web.multipart.commons.CommonsMultipartFile@3fc04a65];代码[仅支持jpg/png文件类型.image.file,jpg/ png 文件类型仅支持.file,jpg/png 文件类型仅支持.org.springframework.web.multipart.MultipartFile,jpg/png 文件类型仅支持]; 参数 []; 默认消息 [null]]"
我不明白为什么错误列表长度为 4。我的动机是在 json 中显示错误,如果它没有经过验证。
如果有任何标准方法来进行这种验证?我是春天和休息的新手。所以有人请告诉我实现目标的方法。
spring-mvc - Spring 4 AOP @Aspect 不会触发 @RestController
我创建了一个执行基本 id 比较的 Aspect,以确保用户属于创建所请求实体的同一组。我已经成功地将我的方面附加到 @Service 方法,但它在服务层没有意义,我需要将它附加到 @RestController 方法。当我尝试这样做时,一切似乎都很好,但我的 Aspect 从未触发,并且日志是静默的。
pom.xml
春季语境
方面
如果验证失败,“doValidationBefore()”和“doValidationAfter()”将抛出异常。
最后,我的 RestController
需要注意的一些事项:
- 当我更改执行模式以匹配服务并将其放置在我的服务包中时,这个确切的方面会起作用。
- Aspect 和 RestController 在同一个上下文中
- 我使用 IDEA IDE,当我使用 Aspect 上的“导航到建议的方法”图标时,我正在测试的方法列在方法列表中。
- “导航到建议的方法”中列出的所有方法都不起作用
我尝试过的事情:
- 我在 pom.xml 中添加了 3 个库:org.aspectj:aspectjrt:1.8.6、org.aspectj:aspectjtools:1.8.6、cglib:cglib:2.2.2。这些都没有任何区别。
- 我尝试直接在上下文 xml 中定义我的 Aspect 和 PointCuts 并删除注释,没有区别。
- 我尝试将我的执行模式设置为应用于所有方法,但它仍然没有触发。
- 我尝试为我的 RestController 添加一个接口,没有任何变化。
我想在这里得到一些帮助,因为我已经尝试解决这个问题已经有一段时间了。我知道这一定是可能的。
spring - spring rest 动态地从序列化中排除对象属性
我想排除弹簧休息响应体的特定属性。经过数小时的谷歌搜索后,我发现了这个:http : //www.jroller.com/RickHigh/entry/filtering_json_feeds_from_spring 由于它的日期,我想问一下jackson和或fastxml是否有更新的东西。JsonView 不符合我的要求,因为我需要涵盖这种情况:
如果 A 是我所有属性的集合:一次我需要用 B ⊂ A 暴露 B。另一次用 C ⊂ A 暴露 C。而 B ∩ C != ∅
这将导致复杂的视图声明以及注释每个类,并且在某些情况下可能也不可能。所以我想做的是与此类似的事情:
输出:
angularjs - 发送多个数据对象(角度 - 弹簧架)
下面的代码工作正常,但我不知道在发送两个数据对象的情况下如何处理请求。
我的 java 控制器方法签名应该如何处理下面的请求?
java - 如何在 spring-rest 中嵌套@PathVariable?
我有一个简单的@RestController
服务,它接受查询参数,spring 自动将它们解析为bean
:
询问:.../rest?id=123
现在我想用嵌套类来构造参数对象。我怎样才能做到这一点?
理想情况下,我的查询应该是: Query: .../rest?id=123&name=test
,并且“test”字符串应该进入SubParams
bean。
那可能吗?
java - 使用 spring @RestController 在 null 上返回 HTTP 204
这将返回 200 OK,内容长度:0
简单地说,我希望它在 null 上返回 204 No Content。
有没有办法强制 spring-mvc/rest 在 null 而不是 200 时返回 204?我不想更改每个休息方法以返回 ResponseEntity 或类似的东西,只将 null 映射到 204
spring - 无法使用 spring 框架在请求映射中获取不同的内容类型?
这是我的控制器类:
模型
注意我已经映射/metrics
到返回json
或plain-text
取决于Accept Header
请求中的
当我在
curl -v -H "Accept: application/json" http://localhost:8080/myapp/actuator/metrics
我在 json 中得到预期的响应
{"status":"WARN","id":2}
。
但是,当我尝试
curl -v -H "Accept: text/plain" http://localhost:8080/myapp/actuator/metrics
我明白了HTTP/1.1 406 Not Acceptable
。
编辑
java - 在任何浏览器上第二次访问时,Tomcat 给出的页面未找到
我已经构建了一个具有 REST 服务的 Spring MVC 项目。我已经将它部署在 TOMCAT 上。当我在本地机器上使用 URL 时,例如:“localhost:8080/rmtest/questions.do?testId=1”,它会给出正确的 Json 响应。无论我点击该 URL 多少次,我都会得到正确的 json 响应。
但是当我使用 url 从不同的机器上点击它时:“ http://192.168.1.178:8080/rmtest/questions.do?testId=1 ”,它第一次正常工作并给出了正确的 json 响应。但是,如果我尝试在一段时间后再次在该机器上访问相同的 URL,则不允许这样做。我收到“未找到网页”。
关于为什么会发生这种情况的任何想法?
除了运行服务器的系统之外,我已经在 2 台不同的笔记本电脑和 2 部手机上进行了尝试,并且在每个系统/手机上都得到了类似的结果。
java - 使用 Spring @RestController 处理带有 ZonedDateTime 参数的 HTTP GET
我正在创建一个端点,它将接收日期以在服务器端进行一些过滤。代码如下所示:
当我尝试调用我的端点时,我收到一个 HTTP 400 错误“客户端发送的请求在语法上不正确。”
我尝试了不同的日期格式,但都没有奏效。我错过了什么吗?我读到了@DateTimeFormat,但即使我添加了它,也没有工作。
这是我正在做的请求的一个例子:
http://host/test-api/v1/test-summary/test?start=09-09-2015&end=09-09-2015
谢谢!