导航

spring java枚举转json 方便前端取值

Posted on 2022-11-18 17:05  疯狂搬砖人  阅读(654)  评论(0)    收藏  举报

未处理前:

"gender":"GenderEnum.FEMALE(code=2, gender=女)"

解决方法:使用jackson提供的注解 @JsonFormat,将其写在要转换的枚举类上

@JsonFormat(shape = JsonFormat.Shape.OBJECT)
@AllArgsConstructor
@Getter
@ToString
@JsonFormat(shape = JsonFormat.Shape.OBJECT) //将枚举序列化为json对象,方便前端取值
public enum GenderEnum {
    SECRET(0, "保密"),
    MALE(1, "男"),
    FEMALE(2, "女");

    @EnumValue
    private final int code;
    private final String gender; 
}

加上该注解后,在响应时,user对象中的性别枚举也会被转成json对象的形式

"gender":{"code":2,"gender":"女"}