直至现在; 我们的 servlet 仅用于支持application/json作为输出格式。实际上; 我们刚刚将输出返回为application/json;不考虑用户的要求:(
往前走; 我们将支持多种输出格式:json/xml 等。我想知道;实现这一点的行业惯例是什么?我们只是getContentType()从 中读取HttpServletRequest并返回适当的数据格式吗?
getContentType()返回Content-Type请求的标头值。这指定了 HTTP 请求正文的内容。不是它期望作为响应的内容类型。
HTTP 请求可以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");
JavadocHttpServletRequest#getHeader(String)在这里。
显然,如果您的客户端是浏览器,则更改标头有点困难。