需求:后端查询出的字典常量值,希望在前端展示出对应的中文值,例如:常量值=ID_CARD,前端希望返回=身份证,这就可以用到JsonSerialize注解。
实现:
在对应dto的getXXX()方法上,添加如下注解。
@JsonSerialize(using = CodeToNameJsonSerialize.class)
其中CodeToNameJsonSerialize为自定义的实现类,需要继承JsonSerializer这个抽象类
public class CodeToNameJsonSerializer extends JsonSerializer<Object> {
/*****************/
@Override
public void serialize(Object value, JsonGenerator jsonGenerator,
SerializerProvider serializerProvider) throws Exception
/******具体业务实现********/
jsonGenerator.writeXXX();
}
}
这样就可以了