Java 强制字段的Json请求验证-springboot rest api
在下面的json请求中,您可以看到薪资为3级 学生级、学员级和属性级Java 强制字段的Json请求验证-springboot rest api,java,json,spring-boot,rest,javax.validation,Java,Json,Spring Boot,Rest,Javax.validation,在下面的json请求中,您可以看到薪资为3级 学生级、学员级和属性级 employee{ id :"123"; name : "ABC"; salary : 100; college : "abcd.."; Trainees : { id :"101"; name :"XYZ"; salary :50; } properties :{ // key value pair values
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请求验证,有什么方法可以达到上述要求吗?如果您想使用javax bean验证,您需要定义一个自定义注释(对于您特定的用例没有默认注释)并使用自定义验证实现ConstraintValidator。您可以在这里看到示例:
在这种情况下,3个薪资字段应该可以为空,并且您的验证逻辑应该验证其中至少一个字段不为空。您可以将POJO添加到描述中吗?