是否可以在 Spring Boot 中的请求主体上使用枚举类型字段,例如
public enum Status{
A,
B,
C
}
@Getter
@Setter
@NoArgsConstructor
public class Order{
private Status status;
}
如果可能的话,如何使用 spring 验证来处理其验证。
可以在请求正文中接收枚举值,但如果该值丢失,则会引发异常。
public enum Status {
A,
B,
C;
public static Status translateStringToStatus(String statusString) {
switch (statusString.toUpperCase()) {
case "A":
return Status.A;
case "B":
return Status.B;
case "C":
return Status.C;
default:
throw new IllegalArgumentException("Unsupported status: " + statusString);
}
}
}
或者,您可以使用自定义注释来处理它,如以下链接
所示祝你有美好的一天 - 凯文