簡體   English   中英

如何添加有關Java約束的其他信息

[英]How to add additional info on java constraints

具有Java驗證約束,即

@NotNull, @Size, etc

您可以添加一個消息字段,您的api可以將其返回給客戶端。 無論如何,是否要添加其他字段,例如自定義代碼?

我的問題是,每個可能的錯誤都需要它自己的消息並將代碼返回給客戶端。 (通過代碼,我是指響應正文中的自定義代碼,而不是http狀態代碼)。

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

我唯一能想到的就是在每個字段上使用自定義驗證器類,這將需要很多工作,或者有一個巨大的if / else塊,可根據消息設置代碼。

誰能想到更好的解決方案?

在此先感謝您的幫助:)

您可以使用所有約束類型定義的payload()參數。

您必須為每個錯誤代碼聲明一個類類型:

public interface Error_01 {}

接着:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM