我写了一个Spring Boot应用程序。我对Spring如何处理对控制器端点的请求有疑问。我有一个端点,只指定了“ path”属性,没有指定产生,消耗属性。当我使用“ application / json”内容类型达到终点时,我得到了响应。但是当我使用其他内容类型(例如“应用程序/ xml,文本等”)达到终点时,我又回到了415。我不明白如何处理生产和消费。
答案 0 :(得分:1)
Consumes
意味着客户在放置/发布时必须提供application/json
,另一方面Produces
意味着客户将得到application/json
。 / p>
您可以根据需要添加任意多个MediaType,但是在某些时候,您需要为同一结果提供多个终结点,但使用不同的MediaType。
因此,在您的情况下,您需要使用
注释您的contoller方法@GetMapping(value = "/path", produces = {"application/json", "application/vnd.custom+json"})
据我所知,spring仅默认为application/json
,但是jackson已注册为对匹配application/*+json
的任何内容进行序列化/反序列化