您的位置:首页 > 教育 > 锐评 > 公司网站维护工作内容_网页代码怎么调出来_广东企业网站seo哪里好_苏州关键词排名系统

公司网站维护工作内容_网页代码怎么调出来_广东企业网站seo哪里好_苏州关键词排名系统

2025/8/27 22:10:30 来源:https://blog.csdn.net/weixin_70280523/article/details/146448094  浏览:    关键词:公司网站维护工作内容_网页代码怎么调出来_广东企业网站seo哪里好_苏州关键词排名系统
公司网站维护工作内容_网页代码怎么调出来_广东企业网站seo哪里好_苏州关键词排名系统

1.简介

@JsonSerialize注解可以自定义改变返回前端的内容,比如:将Student实体类的age字段的值在返回前端之前,由20改为21.

要用到jackson-databind依赖包,在Spring Boot项目中,默认已经集成了Jackson,因此你不需要手动引入Jackson库。

 2.上例子

将Student实体类的age字段的值在结果返回前端之前,由20改为21.

步骤一:

新建一个FormatterSerializer类,继承JsonSerializer<T>类,比如:如果想改变的是数据类型,比如Integer,可以把 T写成Integer,也可以写成Number类型.

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;public class FormatterSerializer extends JsonSerializer<Number> {@Overridepublic void serialize(Number value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException {if(value == null){gen.writeNull();}else {int i = value.intValue() +1;gen.writeNumber(i);}}
}

步骤二:新建一个Student实体类,在age字段加上@JsonSerialize注解,using = FormatterSerializer类

import com.example.controller.FormatterSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;@Data
public class Student {private String name;@JsonSerialize(using = FormatterSerializer.class)private Integer age;
}

步骤三: 写个接口测试:

@RestController
@RequestMapping("app/")
@Slf4j
public class AAController {@GetMapping("/aa")public Student queryById() {Student student = new Student();student.setName("张三");student.setAge(20);return student;}
}

现在看结果:

结果看到,age从20变成了21, @JsonSerialize注解成功生效了.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com