![](/img/trans.png)
[英]Resttemplate - request the pojo itself or request the json string and parse it
[英]Map string in JSON request to Enum in Request POJO
我有一个枚举,它是这样的:
public enum Level {
HIGH ("hi"),
MEDIUM("med"),
LOW ("lo")
;
private final String levelCode;
private Level(String levelCode) {
this.levelCode = levelCode;
}
}
该枚举是另一个请求类中的元素,例如:
public class RequestPOJO{
Level level;
int somefield1; //other instance varilables
//...... other instance varilables
}
我想将JSON请求中的字符串字段(名称为levelCode)映射到此枚举。 我正在使用Jackson进行序列化。 有什么方法可以将请求中的此字符串字段直接映射到此枚举。
您可以将@JsonValue
批注用于enum
内的新方法。 该方法应返回String
,在您的示例中该String
不过是levelCode
。 如果这样做,则可以解决序列化和反序列化的问题。
只是为了通知您,如果enum
由于Jackson的错误而具有int
字段,则此方法将无法正常工作。 在这种情况下,您需要使用@JsonCreator
使用不同的方法。
您可以参考我的博客中的实现示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.