gpt4 book ai didi

java - 有没有办法清除 Spring Boot RestController 中的 "consumes = MediaType"?

转载 作者:太空宇宙 更新时间:2023-11-04 10:16:52 34 4
gpt4 key购买 nike

假设我有一个具有各种端点(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 属性。

最佳答案

我现在遇到了您的问题。尝试使用以下解决方案并引用此链接可能会有所帮助

https://github.com/spring-projects/spring-framework/pull/1257/commits/00e6ca412dffeb8a7a596f9312db19eb6cc49525

    @GetMapping(value = "/get", consumes = MediaType.ALL_VALUE)

关于java - 有没有办法清除 Spring Boot RestController 中的 "consumes = MediaType"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51604665/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com