1

在 JAX-RS 中,有没有办法使用查询参数而不是 Accept 标头(例如/api/foo?format=json)来定义响应类型?

4

3 回答 3

4

在 JAX-RS 中进行内容协商有 3 种方式:基于 URL、基于 Accept 头和基于请求参数。请查看基于请求参数的内容协商链接。它包含如何对请求参数进行内容协商的示例代码。该链接适用于 Apache Wink 项目,但代码应该在 Jersey 实现中工作。

于 2013-03-04T21:06:59.910 回答
1

我不知道基于查询参数的内置方法,但UriConnegFilter支持使用 URI 后缀的建议方法,例如/api/foo.json. 也许你可以遵守那个约定?如果没有,UriConnegFilter 将是一个很好的起点,可以让您自己构建对使用查询参数的支持。

于 2013-03-04T19:59:30.120 回答
0

在这种情况下,您需要在 web.xml 中启用一个开关,如下所示

   <context-param>
    <param-name>resteasy.media.type.param.mapping</param-name>
    <param-value>format</param-value>
   </context-param>

/api/foo?format=json

于 2015-12-02T14:29:21.917 回答