【问题标题】:Json request validation for mandatory field - springboot rest-api必填字段的 Json 请求验证 - springboot rest-api
【发布时间】:2020-12-26 00:27:24
【问题描述】:

在下面的 json 请求中,你可以看到工资在 3 级可用 学生级别、实习级别和属性级别

employee{
id :"123";
name : "ABC";
salary : 100;
college : "abcd..";
Trainees : {
  id :"101";
  name :"XYZ";
  salary :50;
 }
properties :{ // key value pair values
  default.salary= 20
  default.college=null
 }
}  

由于我的申请必须有薪水,所以薪水应该至少有一个级别。

如果薪水字段及其值在所有级别均不可用,则应抛出一些错误并且rest webservice不应处理请求,如果薪水在任何一级可用,则应由rest webservice接受并处理请求。

我目前正在使用 javax.validation.constraints 进行 json 请求验证,有没有办法实现上述要求?

【问题讨论】:

  • 能否将您的 POJO 添加到说明中?

标签: java json spring-boot rest javax.validation


【解决方案1】:

如果您想使用 javax bean 验证,您将需要定义一个自定义注解(对于您的特定用例没有默认注解)并使用您的自定义验证实现 ConstraintValidator。您可以在此处查看示例:https://www.baeldung.com/javax-validation-method-constraints

在这种情况下,3 个薪水字段应该可以为空,并且您的验证逻辑应该验证其中至少一个不为空。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多