验证PUT操作的资源

时间:2014-12-07 07:09:40

标签: java hibernate rest spring-mvc

对于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操作的资源?

1 个答案:

答案 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) {
       ...
    }