我想访问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) {
...
}
答案 0 :(得分:2)
具体来说,在您的示例中,我认为您可以使用DateTimeFormat
来驱动Spring进行转换:
@RequestHeader("If-Modified-Since")
@DateTimeFormat(pattern = "ThePATTERN") final Date ifModifiedSince