gpt4 book ai didi

java - spring rest Controller 中 json 验证中强制属性的注释

转载 作者:行者123 更新时间:2023-12-05 07:37:56 28 4
gpt4 key购买 nike

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

以下是请求体测试用例

{"name":"anu", "phoneNumber": "","email" :"test@gmail.com" } // Validation works

{"name":"anu", "phoneNumber": null,"email" :"test@gmail.com" } // Validation works

{"name":"anu","email" :"test@gmail.com" } // Validation doesnt works', Required help to find the annotation.

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;
...
}

请找到我的 Controller

@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。请帮忙

最佳答案

在 Controller 中,我使用@Validated 来验证请求正文,当我尝试@Valid 时,验证工作完美。!!

关于java - spring rest Controller 中 json 验证中强制属性的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48297120/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com