java如何从REST API的JSON请求中反序列化枚举字段的可选值?
REST API的请求模型有一个枚举字段:
public enum CommentContext {
STUDENT_FEEDBACK,
STUDENT_QUESTION;
}
现在,我想从enum值中删除STUDENT_uu前缀,但不中断API的现有调用者
我试着使用@jsonaas,如下所示:
public enum CommentContext {
@JsonAlias ("{FEEDBACK, STUDENT_FEEDBACK}")
FEEDBACK,
@JsonAlias ("{QUESTION, STUDENT_QUESTION}")
COMMENT;
}
但是,当STUDENT_反馈作为请求JSON中该枚举字段的值传递时,API因400个错误请求而失败
是否可以从JSON中反序列化此CommentContext对象,以获取此枚举字段的可选值(如反馈或学生反馈)
# 1 楼答案
可以使用@JsonCreator来实现。在这里,我为您的问题提供了解决方案:
你也可以看到这个link