0

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

我拥有的服务基于 本教程

4

1 回答 1

0

简短的回答是否定的,JAX-RS 不允许您简单地通过将“xml”或“json”附加到 URL 来切换响应内容类型。

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

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

您还可以设计您的资源类以轻松支持所需的行为 - 一些示例可以在Apache CXF 内容协商指南中看到。

于 2013-05-17T11:48:57.253 回答