【发布时间】:2020-06-14 12:07:28
【问题描述】:
在域模型对象中,我有以下字段:
private TermStatus termStatus;
TermStatus 是一个枚举:
public enum TermStatus {
NONE,
SUCCESS,
FAIL
}
在 DTO 中,我的字段与域对象中的字段相同。问题是,如何验证传递的值?如果 API 客户端现在将带有枚举值的错误字符串作为参数传递(例如,nOnE),它将不会收到有关错误的任何信息,只会收到状态 400 Bad Request。是否可以像这样验证它,例如,在javax.validation 注释的情况下,如@NotBlank、@Size,如果出现错误,至少会清楚它是什么。有一个想法为此进行单独的映射,例如"items/1/complete-term" 而不是直接枚举传输,因此在这种情况下,服务器本身会将SUCCESS 值设置为termStatus 字段。但据我所知,这些东西在 REST API 中看起来不太好,所以我需要你的想法
【问题讨论】:
标签: java spring spring-boot rest enums