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

标签 spring spring-mvc httprequest

我想访问 If-Modified-Since header 中的时间戳,这样我就可以实现条件 GET。

Spring Controller 可以使用 @RequestHeader注解来指示 Spring 应该将 HTTP header 的值作为方法参数传递给处理程序方法。参数必须是String吗?或者是否允许其他类(class)? Spring documentation意味着可以转换long 值。但是允许的类集是什么呢?

以下操作(使用日期)有效吗?

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

最佳答案

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

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

关于spring - 哪些类的方法参数可以用@RequestHeader注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16442256/

相关文章:

c# - Paypal 沙盒保险库 : C# The operation has timed out (HTTP request timeout was set to 30000ms)

azure - 如何使用 HttpURLConnection 通过 Java 使用 Microsoft Graph API 通过 appId 获取应用程序

swift - Quickbooks 创建一个 TimeActivity

java - JSP 和 Spring 验证

java - Eclipse 中的内存不足错误

java - @PostConstruct 在级联 bean 的所有属性未在 Spring 中初始化时运行

java - Spring:Propagation.REQUIRED 不工作

java - 什么是注解以及它们如何在 Spring 这样的框架中实际工作?

java - 如何在Spring Boot中的@AfterThrowing方法中访问对象

java - 文档根元素 "beans",必须匹配 DOCTYPE 根 "null"