对于应用程序/ json以外的任何MIME类型,控制器以415响应进行响应

时间:2018-08-31 21:00:04

标签: rest spring-mvc

我写了一个Spring Boot应用程序。我对Spring如何处理对控制器端点的请求有疑问。我有一个端点,只指定了“ path”属性,没有指定产生,消耗属性。当我使用“ application / json”内容类型达到终点时,我得到了响应。但是当我使用其他内容类型(例如“应用程序/ xml,文本等”)达到终点时,我又回到了415。我不明白如何处理生产和消费。

1 个答案:

答案 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的任何内容进行序列化/反序列化