Java 强制字段的Json请求验证-springboot rest api

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

在下面的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请求验证,有什么方法可以达到上述要求吗?

如果您想使用javax bean验证,您需要定义一个自定义注释(对于您特定的用例没有默认注释)并使用自定义验证实现ConstraintValidator。您可以在这里看到示例:


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

您可以将POJO添加到描述中吗?