弹簧控制器

时间:2018-01-17 08:57:52

标签: java spring validation

我有一个接受Person对象的Spring rest服务。人物对象有名称,电话号码和电子邮件。添加人员时,电话号码是强制性的。如果存在电话号码属性,则使用@NotNull@NotBlank@NotEmpty验证是否为空或空。但是,如果属性不存在,则验证不起作用。请建议任何验证注释,以检查JSON请求中是否存在该属性。

以下是请求正文测试用例

  

{" name":" anu"," phoneNumber":""," email" :" test@gmail.com" } //   验证工作

     

{" name":" anu"," phoneNumber":null," email" :" test@gmail.com" } //   验证工作

     

{"名称":" ANU""电子邮件" :" test@gmail.com" } //验证不起作用',   找到注释所需的帮助。

class Person {
 @NotNull
private String name;
  @NotNull(message = "email.empty") 
   @Email(regexp = EMAIL_PATTERN, message = "email.invalid")
private String email;
 @NotNull(message = "phonenumber.empty")
   @Pattern(regexp = PHONE_NUMBER_PATTERN, message = "phonenumber.invalid")
private String phoneNumber;
...
}

请找我的控制器

@RequestMapping(value = "/createAdminPerson", method = POST, consumes = BusinessPersonConstants.MEDIA_TYPE, produces = "application/json;charset=UTF-8")
    public ResponseEntity<Boolean> createAdminPerson(
            @Validated @RequestBody Person createAdminPerson) {
...
}

我试过@NotNull,@ Notempty,@ NotBlank。请帮忙

1 个答案:

答案 0 :(得分:0)

在控制器中,我使用@Validated来验证请求体,当我尝试@Valid时,验证工作正常。!!