对于People资源,我会对此资源执行POST / PUT / GET / DELETE操作。资源定义如下:
class People {
@NotBlank
String name;
@Min(18)
String age;
@NotBlank
@Size(min=10, max=150)
String address;
}
使用Spring MVC和Hibernate,
对于POST操作,我可以通过@Valid验证资源
但是对于PUT操作,请求正文只包含 { “地址”:“123 Keangnan,Hoan Kiem,河内,越南” }
如何验证PUT操作的资源?
答案 0 :(得分:2)
您可以使用验证组,并将所有约束用于第一组,例如 PeopleValidationGroup ,并将您的地址属性约束添加到第二个组(名为AddressValidationGroup)。接下来,您将使用 @Validated 注释验证这两种情况,并指定相应的组
检查http://www.javacodegeeks.com/2014/08/validation-groups-in-spring-mvc.html
中的示例 @RequestMapping(value = "firstCase", method = RequestMethod.POST)
public String firstCase(@Validated(People.PeopleValidationGroup.class) People people, Errors errors) {
...
}
@RequestMapping(value = "secondCase", method = RequestMethod.PUT)
public String secondCase(@Validated(People.AddressValidationGroup.class) People people, Errors errors) {
...
}