当前位置: 首页> 财经> 股票 > 石家庄网页设计制作_网站的制作视频_百度网盘网页版入口官网_网络营销首先要

石家庄网页设计制作_网站的制作视频_百度网盘网页版入口官网_网络营销首先要

时间:2025/7/10 9:55:14来源:https://blog.csdn.net/weixin_70280523/article/details/146448094 浏览次数:0次
石家庄网页设计制作_网站的制作视频_百度网盘网页版入口官网_网络营销首先要

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

责任编辑: