我有一个 Spring 3.2 应用程序,并且创建了一个使用基于令牌的安全性的 REST API。每个 REST JSON 有效负载都包含一个“令牌”字段,用于执行安全验证。
控制器方法如下:
@RequestMapping(value = "/something", method = RequestMethod.POST)
public
@ResponseBody
Map something(@RequestBody SomethingParams params) {
}
其中SomethingParams 有一个token
字段,并由Spring 从请求的JSON 正文中自动填写。
有没有办法自动在所有控制器方法上调用验证器来检查SomethingParams等参数是否具有有效令牌?
以前我使用拦截器,并且令牌包含在查询字符串中,但现在,由于它在请求的正文中,我必须在拦截器中解析 JSON 才能检查它。由于 Spring 已经解析了 JSON 来绑定参数,我很好奇是否有更聪明的方法。理想情况下,只需要一些全局或控制器级别的设置(不是每个方法)。