Java SpringMVC—向控制器添加一个过滤器,请求主体可用于操作
我有一个控制器:Java SpringMVC—向控制器添加一个过滤器,请求主体可用于操作,java,spring,spring-mvc,filter,Java,Spring,Spring Mvc,Filter,我有一个控制器: @Controller @RequestMapping("/player") public class PlayerController extends AbstractController { @RequestMapping(value = "/doSomething", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) @ResponseStatus(value
@Controller
@RequestMapping("/player")
public class PlayerController extends AbstractController {
@RequestMapping(value = "/doSomething", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(value = HttpStatus.OK)
@ResponseBody
public int doSomeThing(@RequestBody SomeDTO someDTO , HttpServletRequest request) throws IOException {
this.playerService.doSomething(
someDTO );
return SERVER_OK;
}
// Tons of similar methods here
}
我想创建一个过滤器,该过滤器将拦截对该控制器的所有调用,并将访问每个方法接收的@RequestBody
对象。我想操作这个@RequestBody
对象
有可能吗?没有过滤器。还有,为什么要在参数到达控制器之前对其进行操作。我想从dto验证用户名\密码。有没有更好的方法通过spring security?为什么应该在过滤器中而不是在控制器中完成?这属于控制器而不是过滤器。我想防止程序员忘记在控制器方法中添加身份验证行的情况,如果过滤器会这样做,他就不会犯这个错误。这是一个创建方法,所以我不明白为什么当前用户的用户名/密码会在
playerAccountTo
中?出于某种原因,这听起来是错误的,甚至不属于那里。