Spring rest - 方法级别的自定义标头验证

时间:2013-11-15 18:04:14

标签: java spring spring-mvc spring-security

我正在开发基于Spring的休息服务,并寻找wy来验证某些方法的自定义请求标头而不是其他方法。 你能建议什么是达到这个目标的最好方法吗?是否有可能实现它,例如通过自定义注释?:

@RequestMapping(value = "/url", method = RequestMethod.GET)
@ResponseBody
@validateHeader(name=headerName)  <--??
public DTO method() {
        ...
        return DTO;
}

1 个答案:

答案 0 :(得分:2)

有点不清楚你在问什么。如果您正在寻找仅处理包含特定标头的请求的处理程序方法,那么您也可以使用@RequestMapping

RequestMapping有一个headers属性,您可以在其中指定

  

映射请求的标头,缩小主映射。

像这样使用

@RequestMapping(value = "/url", method = RequestMethod.GET, headers = {"my-header"})

您还可以指定每个标头具有特定值(来自javadoc)

@RequestMapping(value = "/something", headers = "content-type=text")

javadoc非常具有描述性,您还可以指定是否希望处理程序处理不包含特定标头的请求。浏览javadoc。