@JsonSerialize前端与后端交互时数据处理
在程序的开发过程中会经常需要后端将数据处理之后返回至前端,在之前会使用枚举类,通过if-else 判断 这种方法进行操作,这个提到的@JsonSerialize这个注解可以更优雅对此类型进行处理。下来介绍下该方法的使用
//创建一个类继承JsonSerializer
//这里的String类型为泛型 根据你处理数据的类型进行修改
public class TestUtil extends JsonSerializer<String>{
/**
*
* @param s 对应字段的内容
* @param gen 需要将处理完毕之后的数据写入其中,如果未写则报错
* @param provider 提供序列化
*/
//这个方法实现的功能为将传入的数据根据需求进行调整
@Override
public void serialize(String s, JsonGenerator gen, SerializerProvider provider) throws IOException, JsonProcessingException {
//在这里对数据进行处理
if(s..equals("修改")){
gen.writeString("处理完毕。");
}else{
gen.writeString("未找到对应类型");
}
}
@Data
public class User{
@Id
private Long id;
private String name;
private String username;
//这样就处理成功了
@JsonSerialize(using = TestUtil.class)
private String remark;
}
@JsonSerialize的使用过程中重要的问题是在于 无论如何对数据进行处理 必须要向gen中写入数据要不然就会报错