[英]Convert enum multiple values to Json in Java SpringBoot
这里我有一个 Rest Controller
@RequestMapping(value = "/mobileNumber", method = RequestMethod.POST, produces = {
MediaType.APPLICATION_JSON_VALUE })
public ResponseEntity<ResponseBack> sentResponse() {
return new ResponseEntity<ResponseBack>(ResponseBack.LOGIN_SUCCESS, HttpStatus.ACCEPTED);
}
我的Enum
Class
public enum ResponseBack {
LOGIN_SUCCESS(0, " success"), LOGIN_FAILURE(1, " failure");
private long id;
private final String message;
// Enum constructor
ResponseBack(long id, String message) {
this.id = id;
this.message = message;
}
public long getId() {
return id;
}
public String getMessage() {
return message;
}
}
当我从 controller 收到回复时,我得到的是
"LOGIN_SUCCESS"
我需要的是
{
"id": "0",
"message": "success"
}
如何将其反序列化为 Json 并发送响应,是否有任何注释。 请帮忙,谢谢。
您必须使用 JsonFormat 注释
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ResponseBack {
...
所以你说这个枚举的 Json 表示将是整个 object。 如果您希望返回特定字段(例如消息字段),您可以使用 JsonValue 批注对该方法进行批注
@JsonValue
public String getMessage() {
return message;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.