我有一个接受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。请帮忙
答案 0 :(得分:0)
在控制器中,我使用@Validated来验证请求体,当我尝试@Valid时,验证工作正常。!!