Java 修改请求参数的注释

Java 修改请求参数的注释,java,spring,validation,spring-mvc,Java,Spring,Validation,Spring Mvc,如何在进入控制器之前修改请求参数(@RequestParam String bar) 理想情况下,我希望创建一个注释: @RequestMapping(method=GET,path=“foo”) 公共响应性getBar(@RequestParam@Sanitize(“bar”)字符串栏){ //酒吧已经消毒了 /**方法体*// } 根据,我尝试创建界面清理: @Target(ElementType.PARAMETER) @保留(RetentionPolicy.RUNTIME) publi

如何在进入控制器之前修改请求参数(
@RequestParam String bar

理想情况下,我希望创建一个注释:

@RequestMapping(method=GET,path=“foo”)
公共响应性getBar(@RequestParam@Sanitize(“bar”)字符串栏){
//酒吧已经消毒了
/**方法体*//
}
根据,我尝试创建界面
清理

@Target(ElementType.PARAMETER)
@保留(RetentionPolicy.RUNTIME)
public@interface清理{
字符串值();
}
和分解器
SanitizeResolver

公共类SanitizeResolver实现HandlerMethodArgumentResolver{
@凌驾
公共布尔支持参数(MethodParameter){
返回参数.getParameterAnnotation(Sanitize.class)!=null;
}
@凌驾
公共对象resolveArgument(MethodParameter参数、ModelAndViewContainer、mavContainer、,
NativeWebRequest webRequest,WebDataBinderFactory binderFactory)引发异常{
Sanitize attr=parameter.getParameterAnnotation(Sanitize.class);
返回MyUtils.sanitize(webRequest.getParameter(attr.value());
}
}
要将冲突解决程序添加到我的
WebMVCConfigureAdapter
的冲突解决程序,请执行以下操作:

@覆盖
public void addArgumentResolver(列出ArgumentResolver){
ArgumentResolver.add(新的SanitizeResolver());
}
解析程序添加得很好,但从未调用过

我正在使用。
我是否错过了一些东西,如果无法工作,是否有更好的解决方案?

解决方案是删除
@RequestParam
,谢谢Sotirios Delimanolis

目前,
@RequestParam
的解析程序在您的自定义解析程序之前被选中。谢谢您的回答。所以我想目前没有办法实现这一点?摆脱
@RequestParam