如何在SpringMVC中拦截控制器方法并处理传递的参数?
我如何在SpringMVC中截取控制器方法并摆弄Spring框架传递的给定参数 示例如何在SpringMVC中拦截控制器方法并处理传递的参数?,spring,spring-mvc,parameters,Spring,Spring Mvc,Parameters,我如何在SpringMVC中截取控制器方法并摆弄Spring框架传递的给定参数 示例 @PostMapping(consumes = "multipart/form-data") public ResponseEntity<?> createPerson( CreatePersonCommand command ) { // ... } 您可以使用拦截器,方法preHandle(): 更新: 我不知道如何准确地执行此操作,但您可以尝试使用处理程序对象: public bo
@PostMapping(consumes = "multipart/form-data")
public ResponseEntity<?> createPerson( CreatePersonCommand command ) {
// ...
}
您可以使用拦截器,方法
preHandle()
:
更新:
我不知道如何准确地执行此操作,但您可以尝试使用处理程序对象:
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){
((HandlerMethod)handler).getMethodParameters()...
}
让我知道您的最终解决方案:)使用Spring,您可以使用aspects,简单的例子如下:
@方面
@组成部分
公共类预处理SPECT{
@在(“执行(*com.your.controller..*controller.*(..)”)之前
控制器之前的公共无效(连接点连接点){
//这是你的密码
//您可以访问请求、参数、仅为一个控制器添加方面、多个控制器,。。。
}
}
@Niki我已经开始以正确的方式使用处理程序,但方法“getMethodParameters”似乎会导致Java反射,而Java反射无法获得实际的参数值。但我还得挖更多@Niki我已经将解决方案作为一个方面进行了实现。它像一个符咒一样工作!:)太好了:)我有时间也会试试的谢谢你的建议!我希望SpringMVC更像是一个开箱即用的解决方案。我将玩方面:)
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){
((HandlerMethod)handler).getMethodParameters()...
}