可以使用@RequestHeader注释哪些类的方法参数

时间:2013-05-08 13:39:51

标签: spring spring-mvc httprequest

我想访问If-Modified-Since标题中的时间戳,因此我可以实现条件GET。

Spring控制器可以使用@RequestHeader注释来指示Spring应该将HTTP标头的值作为方法参数传递给处理程序方法。参数必须是String吗?或者允许其他课程? Spring documentation表示可以转换long个值。但允许的课程是什么?

以下是否有效(使用Date)?

@RequestMapping(method = RequestMethod.GET, headers = {"If-Modified-Since" })
public final void conditionallyRetrieve(
   @RequestHeader("If-Modified-Since")final Date ifModifiedSince,
   final HttpServletResponse response) {
   ...
}

1 个答案:

答案 0 :(得分:2)

具体来说,在您的示例中,我认为您可以使用DateTimeFormat来驱动Spring进行转换:

@RequestHeader("If-Modified-Since") 
  @DateTimeFormat(pattern = "ThePATTERN") final Date ifModifiedSince