在下面的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请求验证,有没有办法实现上述要求?
1条答案
按热度按时间jchrr9hc1#
如果您想使用javaxbean验证,您将需要定义一个自定义注解(没有针对特定用例的默认注解)并用您的自定义验证实现constraintvalidator。您可以在这里看到示例:https://www.baeldung.com/javax-validation-method-constraints.
在这种情况下,3个salary字段应该可以为null,并且您的验证逻辑应该验证其中至少一个字段不为null。