json请求验证-springboot rest api

3pmvbmvn  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(331)

在下面的json请求中,您可以看到工资分为三个级别:学生级别、实习生级别和财产级别

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请求验证,有没有办法实现上述要求?

jchrr9hc

jchrr9hc1#

如果您想使用javaxbean验证,您将需要定义一个自定义注解(没有针对特定用例的默认注解)并用您的自定义验证实现constraintvalidator。您可以在这里看到示例:https://www.baeldung.com/javax-validation-method-constraints.
在这种情况下,3个salary字段应该可以为null,并且您的验证逻辑应该验证其中至少一个字段不为null。

相关问题