【问题标题】:Validate Resource for PUT action验证 PUT 操作的资源
【发布时间】:2015-02-05 01:52:21
【问题描述】:

对于人员资源,我将对此资源执行 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, Hanoi, Vietnam" }

如何验证 PUT 操作的资源?

【问题讨论】:

    标签: java hibernate rest spring-mvc


    【解决方案1】:

    您可以使用验证组,以及对第一组的所有约束,例如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) {
           ...
        }
    

    【讨论】:

    • 感谢主从。这就是我要找的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多