如何在球衣中设置默认为 json 而不是 xml?
使用 jersey jersey.java.net 当 URI 中没有接受标头或 .xml 后缀时,如何将 JSON 设置为默认序列化而不是 XML?
Using jersey jersey.java.net How do I set JSON as the default serialization instead of XML when there is no accept header or .xml suffix is in the URI?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以在@Produces注释中为每种媒体类型分配质量指数。如果同时允许 XML 和 JSON,您可以执行以下操作以使 Jersey 更喜欢 JSON:
You can assign the quality index to each media type in @Produces annotation. I.e.you can do the following to make Jersey prefer JSON if both XML and JSON are allowed:
您应该能够设置 @Produces 注释来指定返回格式,如下所示:
为什么没有 Accept 标头?
You should be able to set the
@Produces
annotation to specify the return format like so:How come there is no accepts header?
您可以通过在 @Produces 注释中按照您的偏好顺序指定媒体类型来指定生成偏好。
在上面的代码中,由于“application/json”首先出现,如果请求中没有指定接受标头,Jersey 将默认生成 JSON 响应。
使用 qs(如 Martin 建议)可以使偏好更加明确,但理解起来有点复杂。
You can specify preference of generation by specifying media types in your order of preference in the @Produces annotation.
In the above code since "application/json" comes first, if no accept header is specified in the request Jersey will default to generating JSON response.
Using qs (as suggested by Martin) makes the preference more explicit, but its a bit more complicated to understand.