在Java SpringBoot中将枚举多值转换为Json
这里有一个休息控制器在Java SpringBoot中将枚举多值转换为Json,java,spring-boot,rest,Java,Spring Boot,Rest,这里有一个休息控制器 @RequestMapping(value = "/mobileNumber", method = RequestMethod.POST, produces = { MediaType.APPLICATION_JSON_VALUE }) public ResponseEntity<ResponseBack> sentResponse() { return ne
@RequestMapping(value = "/mobileNumber", method = RequestMethod.POST, produces = {
MediaType.APPLICATION_JSON_VALUE })
public ResponseEntity<ResponseBack> sentResponse() {
return new ResponseEntity<ResponseBack>(ResponseBack.LOGIN_SUCCESS, HttpStatus.ACCEPTED);
}
当我从控制器那里得到响应时,我得到的是
"LOGIN_SUCCESS"
我需要的是
{
"id": "0",
"message": "success"
}
如何将其反序列化为Json并发送响应,是否有任何注释。
请帮助,谢谢。您必须使用JsonFormat注释
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ResponseBack {
...
@JsonValue
public String getMessage() {
return message;
}
因此,您知道这个枚举的Json表示将是整个对象。如果希望返回特定字段(例如消息字段),可以使用JsonValue注释对该方法进行注释
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ResponseBack {
...
@JsonValue
public String getMessage() {
return message;
}