【问题标题】:Is it possible to check values of headers using @RequestMapping是否可以使用 @RequestMapping 检查标头的值
【发布时间】:2014-12-01 15:07:38
【问题描述】:

我想验证收到的请求是否有一些标头,并且这些标头符合某些条件。我看到我可以使用@requestmapping 来检查所有标题是否存在,如下所示:

@RequestMapping(method  = RequestMethod.POST,
            headers = {"PHS-DP-Created-Date","PHS-DP-Modified-Date","PHS-DP-Accessed-Date","PHS-DP-Revision"},
            value   = {"/{accountID}/{containerID}/{objectID:.+}"})

但我找不到一种方法来检查某些条件下的值(例如值 > 0)

是否可以使用注解?

【问题讨论】:

    标签: java spring spring-mvc annotations httprequest


    【解决方案1】:

    您只能检查特定标头是否存在以及它是否等于/不等于某个值。例如:

    @RequestMapping(value = "/hello", headers = "my-header=my-value", method = RequestMethod.POST)
    ...
    @RequestMapping(value = "/hello", headers = "my-header!=my-value", method = RequestMethod.POST)
    

    很遗憾,您无法检查任何附加条件。要了解有关详细信息的更多信息,请查看HeadersRequestCondition 类。

    您唯一的选择是创建自定义RequestMappingHandlerMapping 并更改将请求映射到方法的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 2013-07-13
      • 2015-04-23
      • 1970-01-01
      • 2018-11-22
      • 2020-05-12
      • 1970-01-01
      相关资源
      最近更新 更多