我有用于访问“派对”的 REST api,URL 如下所示:
/parties
/parties/{partyId}
使用 Spring 控制器和 @PathVariable 我能够实现这个接口。但是为了防止用户访问他们无权访问的各方,我必须为每个方法调用添加检查,这有点重复我自己,我可能会忘记在任何地方添加它:
@RequestMapping(value="/parties/{partyId}", method=RequestMethod.GET)
public @ResponseBody Party getParty(@PathVariable Integer partyId){
authorizeForParty(partyId);
...
现在我想做的是创建一个检查,每次用户输入这样的 url 时都会调用它:
/parties/{partyId}/**
我该怎么做这样的事情?我是否必须创建一些 servlet 过滤器并自己解析 url?如果我必须解析 url,那么是否有至少可以简化它的工具?我希望有一种方法可以将方法添加到控制器,该方法将在方法之前调用,但仍可以使用 @PathVariables 等...