servlet支持两种输出格式的标准做法

时间:2013-05-28 21:28:12

标签: java servlets

到目前为止;我们的servlet仅用于支持application/json作为输出格式。事实上;我们刚刚将输出返回为application/json;无需用户要求:(

前进;我们将支持多种输出格式:json / xml等。 我在想;启用此功能的行业惯例是什么?我们只是从getContentType()读取HttpServletRequest并返回相应的数据格式吗?

1 个答案:

答案 0 :(得分:3)

getContentType()返回请求的Content-Type标头值。这指定了HTTP请求正文的内容。不是它期望作为回应的内容类型。

HTTP请求可以设置Accept标头

  

指定响应可接受的某些媒体类型。 Accept标头可用于指示请求仅限于一小组所需类型,例如请求内嵌图像。

用作

Accept: text/plain 
// or application/xml or a comma separated list for multiple types  (which you would have to parse)

HttpServletRequest,您可以将其检索为

String responseContentType = request.getHeader("Accept");

HttpServletRequest#getHeader(String)的Javadoc是here

显然,如果您的客户端是浏览器,则更改标题会有点困难。