在Java注释中传递灵活的数据(例如:BeanValidation负载)

在Java注释中传递灵活的数据(例如:BeanValidation负载),java,annotations,bean-validation,Java,Annotations,Bean Validation,我想知道在注释中传递静态灵活元数据的可能性有哪些,如果需要新的元数据,不必修改它们 在我的用例中,我使用BeanValidation注释,因此无法修改BeanValidation注释 但BeanValidation在每个a类字段中提供: Class<? extends Payload>[] payload() default {}; 它工作得很好,但我想知道是否有比在额外的类负载上使用注释更简单的方法 有什么想法吗?老实说,我不知道你在问什么。你到底有什么问题?在您的示例中如何使用

我想知道在注释中传递静态灵活元数据的可能性有哪些,如果需要新的元数据,不必修改它们

在我的用例中,我使用BeanValidation注释,因此无法修改BeanValidation注释

但BeanValidation在每个a类字段中提供:

Class<? extends Payload>[] payload() default {};
它工作得很好,但我想知道是否有比在额外的类负载上使用注释更简单的方法


有什么想法吗?

老实说,我不知道你在问什么。你到底有什么问题?在您的示例中如何使用有效负载?@Hardy关于约束冲突,我有一段代码,用于查找有效负载并在该有效负载上附加注释值。只是想知道是否有另一种更轻的解决方案来处理这个问题。你实际上想要传播什么样的元数据?对于错误消息,有消息属性,它是每个Bean验证约束的一部分。@Gunnar我知道,但这还不够,我希望能够设置错误代码+http状态,例如,我面临相同的问题。你能找到解决办法吗?
@Data
@GreaterThan(field = "endDate", greaterThan = "startDate", strict = false, payload = EndDateMustBeGreaterThanStartDatePayload.class)
public class SomeBean {

  @Field("end_date")
  @ErrorDescription("The end date must be greater than the start date")
  public static final class EndDateMustBeGreaterThanStartDatePayload implements ApiResponseOverridePayload { };


  @NotNull
  private DateTime startDate;

  @NotNull
  @Future
  private DateTime endDate;

}