Java 在SpringAPI中是否有更好的方法接受基于标题的内容协商?
我正在使用内容协商通过更改accept头为同一RESTAPI函数定义多个响应Java 在SpringAPI中是否有更好的方法接受基于标题的内容协商?,java,spring,rest,content-negotiation,Java,Spring,Rest,Content Negotiation,我正在使用内容协商通过更改accept头为同一RESTAPI函数定义多个响应 Accept标头:应用程序/json,应以json形式给出响应(由另一个服务使用) Accept header:应用程序/octet流,应下载与具有自定义文件扩展名的文件相同的json响应,供UI使用 目前,当我在Accept头中传递应用程序/八位字节流时,我得到了406 这是正确的方法吗?或者我应该将函数拆分为2,还是使用查询参数更好 目前,当我在Accept头中传递应用程序/八位字节流时,我得到了406 可能,您的
@RequestMapping
或(@GetMapping或@PostMapping,等等)。。。那么,该注释包含一个生成属性。。。在您的情况下,该属性应该具有端点预期生成的类型:[application/json,application/octet-stream]
注意:客户端应该向您的端点指出他想要的格式。。。为此,客户端应使用Accept
http头指定格式
这是正确的方法吗?或者我应该将函数拆分为2,还是使用查询参数更好
对我来说,这是正确的方法,因为您的API更简单,并且您正在使用标准建议的机制
目前,当我在Accept头中传递应用程序/八位字节流时,我得到了406
可能,您的端点正在使用某种注释
类似于:@RequestMapping
或(@GetMapping或@PostMapping,等等)。。。那么,该注释包含一个生成属性。。。在您的情况下,该属性应该具有端点预期生成的类型:[application/json,application/octet-stream]
注意:客户端应该向您的端点指出他想要的格式。。。为此,客户端应使用Accept
http头指定格式
这是正确的方法吗?或者我应该将函数拆分为2,还是使用查询参数更好
对我来说,这是正确的方法,因为您的API更简单,并且您使用的是标准建议的机制…一般来说,Accept
头就是HTTP传递发送给接收器的有效负载表示格式的方式。然而,Spring也提供了一种方法来实现这一点,然而,我不太喜欢这种方法,因为一个行为良好的客户端应该支持Accept
头,但可能不支持扩展头一般来说,Accept
头只是HTTP将有效负载的表示格式发送给接收方的方式。然而,Spring也提供了一种方法来实现这一点,然而,我不太喜欢这种方法,因为行为良好的客户端应该支持Accept
头,但可能不支持扩展头