如何在jersey中将json设置为默认值而不是xml?

时间:2011-10-04 14:13:22

标签: java jersey

使用jersey jersey.java.net如果URI中没有accept标头或.xml后缀,如何将JSON设置为默认序列化而不是XML?

3 个答案:

答案 0 :(得分:15)

您可以在@Produces注释中为每种媒体类型指定质量索引。即,如果允许XML和JSON,则可以执行以下操作以使Jersey更喜欢JSON:

@Produces({"application/json;qs=1", "application/xml;qs=.5"})

答案 1 :(得分:1)

您应该能够设置@Produces注释以指定返回格式,如下所示:

@Produces( { "application/json" })

怎么没有接受标题?

答案 2 :(得分:-2)

您可以通过在@Produces注释中按优先顺序指定媒体类型来指定生成偏好。

@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})

在上面的代码中,因为“application / json”首先出现,如果请求中没有指定accept头,则Jersey将默认生成JSON响应。

使用qs(由Martin建议)使偏好更加明确,但理解起来要复杂一些。