JAX-RS:根据URL模式检索备用格式

时间:2013-05-17 10:51:56

标签: java xml jax-rs

我有一个在Tomcat 6容器中运行的简单JAX-RS服务。是否可以通过附加.xml.json以与Rails相似的方式在浏览器中显示文本而不是XML?

我所拥有的服务基于this tutorial

1 个答案:

答案 0 :(得分:0)

简短回答是 ,JAX-RS不允许您通过在网址上附加'xml'或'json'来切换响应内容类型。< / p>

规范明确定义了内容协商的发生方式 - 通过客户端的Accept HTTP标头,与服务器端的@Produces注释匹配。因此,按照规范,如果您想获得不同的内容类型,那么您将在Accept标头中指定,并且将返回该内容类型(只要服务器支持它)。

话虽如此,JAX-RS实现可以自由地实现自定义(非可移植)扩展,以支持与您描述的行为类似的行为。一个例子是RESTEasy,它允许您将所需的内容类型定义为查询参数Section 17.2 - Query String Parameter-based negotiation

您还可以设计资源类以轻松支持所需的行为 - 可以在Apache CXF Content Negotiation guide中看到一些示例。