假设我有一个具有各种端点(GET/POST/PUT/DELETE)的 Controller ,通常它们都会生成和使用 JSON,所以我这样做:
@RestController
@RequestMapping(value=["/some/base/path"], produces = [MediaType.APPLICATION_JSON_UTF8_VALUE], consumes = [MediaType.APPLICATION_JSON_UTF8_VALUE])
public class SomeController {
...
}
但事实证明,我的 @GetMapping 不使用 JSON(并且我不想强制调用者为 GET
请求设置 Content-Type: application/json
。在 @GetMapping
上,有没有办法清除/清空在类级别设置的 consumes =
值?或者是否有其他方法可以避免重复 consumes
属性类中的所有方法?
我已经尝试设置 @GetMapping(value=["/some/path"], Consumers = [])
但没有任何运气。对于上下文,我正在从 Jersey 注释转换为 Spring REST Controller 样式注释,我发现这是行为上令人烦恼的差异(设置类级 @Consumes
注释不会针对 @GET
强制执行)。只是寻找一种优雅的方式来反射(reflect)现有行为,而无需在各处克隆 Consumers 属性。
最佳答案
我现在遇到了您的问题。尝试使用以下解决方案并引用此链接可能会有所帮助
@GetMapping(value = "/get", consumes = MediaType.ALL_VALUE)
关于java - 有没有办法清除 Spring Boot RestController 中的 "consumes = MediaType"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51604665/