0

在此期间,我正在研究 Spring MVC 展示示例。现在我正在研究 Spring MVC 如何需要数据。

我很难理解如何处理 HTTP 请求标头。

在实践中,我有以下链接:

<a id="header" class="textLink" href="<c:url value="/data/header" />">Header</a>

此链接生成一个对 URL 的 HTTP 请求:“/data/header”

这是处理这个HTTP请求的RequestDataController类的方法(整个类被@RequestMapping("/data")注解:所以这个方法处理/data/header URL)

@RequestMapping(value="header", method=RequestMethod.GET)
public @ResponseBody String withHeader(@RequestHeader String Accept) {
    return "Obtained 'Accept' header '" + Accept + "'";
}

因此 withHeader 方法接受一个由@RequestHeader注释注释的参数,该注释指示方法参数应绑定到 Web 请求标头。

好的,所以我的答案是:Accept 变量中到底有什么?我的 HTTP Accetp Header 的值?要不然是啥?

Fow 我所知道的 Accept request-header 字段可用于指定响应可接受的某些媒体类型。接受标头可用于指示请求特别限于一小组所需类型,例如对内嵌图像的请求。

所以我的输出(返回值)是:Obtained 'Accept' header 'text/plain, / ; q=0.01'

嗯...这究竟意味着什么 Accept headers 字段值?

谢谢

安德烈亚

4

1 回答 1

2

是的,当您使用 @RequestHeader 注释参数时,参数名称用于检索标头信息 - 在您的情况下,这将是“接受”的标头名称 - 参数名称也可能是accept,标头名称在不区分大小写的方式。

您也可以通过这种方式明确指定标头名称:@RequestHeader("Accept")

像您所指出的那样接受标头是客户端(浏览器)说出它可以接受什么作为响应的媒体类型的一种方式。

于 2012-12-14T17:42:37.993 回答