Spring 弹簧验证器

Spring 弹簧验证器,spring,validation,spring-mvc,Spring,Validation,Spring Mvc,是否有任何方法可以使用@Valid注释验证String类型的函数参数 我一直试图这样做,但未能做到。 这是我的密码:- @Controller public class GameController { @Autowired private HeaderValidator headerValidator; @InitBinder private void initBinder(WebDataBinder binder) { binder.set

是否有任何方法可以使用
@Valid
注释验证String类型的函数参数

我一直试图这样做,但未能做到。 这是我的密码:-

@Controller
public class GameController {

    @Autowired
    private HeaderValidator headerValidator;

    @InitBinder
    private void initBinder(WebDataBinder binder) {
        binder.setValidator(new CompoundValidator(headerValidator));
    }

    @RequestMapping(value = "game", method = RequestMethod.GET)
    public @ResponseBody Game getGame(
            @Valid @RequestHeader(value = "header", required = true) String header) {
        return new Game(1, "Baddy");
    }
}

因为我没有足够的声誉来添加我的评论…写在这里。 除了@M.Deinum评论的内容之外,还有相同的开放JIRA,我想修复应该在4.3中


不确定如何使用注释进行操作,但可以使用过滤器或拦截器轻松完成对标题的任何操作。下面是一个如何在spring中使用拦截器的示例
@Valid
适用于模型属性,不适用于标题值。您必须为此进行手动验证。是否没有其他方法验证标头?