如果您有多个需要验证的请求参数(使用Http GET或POST)。 您也可以创建一个自定义模型类,并使用@Valid和@ModelAttribute来验证参数。 这样,您可以使用Hibernate Validator或javax.validator api来验证参数。 它是这样的:
请求方法:
@RequestMapping(value="/doSomething", method=RequestMethod.GET)
public Model dosomething(@Valid @ModelAttribute ModelRequest modelRequest, BindingResult result, Model model) {
if (result.hasErrors()) {
throw new SomeException("invalid request params");
}
//to access the request params
modelRequest.getFirstParam();
modelRequest.getSecondParam();
...
}
ModelRequest类:
class ModelRequest {
@NotNull
private String firstParam;
@Size(min = 1, max = 10, message = "You messed up!")
private String secondParam;
//Setters and getters
public void setFirstParam (String firstParam) {
this.firstParam = firstParam;
}
public String getFirstParam() {
return firstParam;
}
...
}
希望能有所帮助。