如何添加关于 java 约束的附加信息

How to add additional info on java constraints

具有 java 验证约束,即

@NotNull, @Size, etc

您可以向客户端添加您的 api 可以 return 的消息字段。无论如何要添加其他字段,例如自定义代码?

我遇到的问题是每个可能的错误都需要它自己的消息和代码 return 给客户端。 (我所说的代码是指响应主体中的自定义代码,而不是 http 状态代码)。

{
  message: foo can not be null,
  code: 10001
}

我唯一能想到的是在每个字段上使用自定义验证器 类,这将是相当多的工作,或者有一个巨大的 if/else 块来设置代码关于留言。

谁能想到更好的解决方案?

在此先感谢您的帮助:)

您可以使用所有约束类型定义的payload()参数。

您必须为每个错误代码声明一个 class 类型:

public interface Error_01 {}

然后:

public class SomeValidatedClass {
    @NotNull(payload=Error_01.class)
    private String someField;
}