azi*_*haw 5 java rest spring-boot
这里我有一个休息控制器
@RequestMapping(value = "/mobileNumber", method = RequestMethod.POST, produces = {
MediaType.APPLICATION_JSON_VALUE })
public ResponseEntity<ResponseBack> sentResponse() {
return new ResponseEntity<ResponseBack>(ResponseBack.LOGIN_SUCCESS, HttpStatus.ACCEPTED);
}
Run Code Online (Sandbox Code Playgroud)
我的Enum课
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;
}
}
Run Code Online (Sandbox Code Playgroud)
当我从控制器收到响应时,我得到的结果是
"LOGIN_SUCCESS"
Run Code Online (Sandbox Code Playgroud)
我需要的是
{
"id": "0",
"message": "success"
}
Run Code Online (Sandbox Code Playgroud)
我如何将其反序列化为 Json 并发送响应,是否有任何注释。请帮忙,谢谢。
您必须使用 JsonFormat 注释
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ResponseBack {
...
Run Code Online (Sandbox Code Playgroud)
所以你告诉这个枚举的 Json 表示将是整个对象。如果您想要返回特定字段(例如消息字段),您可以使用 JsonValue 注释来注释该方法
@JsonValue
public String getMessage() {
return message;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2096 次 |
| 最近记录: |