SpringBoot 返回前端的json数据,是在哪里进行序列化的
比如我使用jackson
来进行序列化,在application.yml
中添加了相关配置
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
default-property-inclusion: NON_NULL
然后有一个接口返回的是json
格式的数据。
@RestController
public class StatsController {
@Resource
private ObjectMapper objectMapper;
@GetMapping("/test")
public TestDTO test() {
return objectMapper.writeValueAsString(new TestDTO("test", null));
}
}
@Data
class TestDTO {
private String a;
private Integer b;
public TestDTO(String a, Integer b){
this.a = a;
this.b = b
}
}
然后在浏览器中进行该接口的调用,返回的应该是:
{"a":"test"}
我想知道Spring
是在哪个类中对返回给前端的数据(objectMapper.writeValueAsString(new TestDTO("test", null))
)进行jackson
配置的序列化规则的处理?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
RequestMappingHandlerAdapter -> RequestResponseBodyMethodProcessor -> MappingJackson2HttpMessageConverter
直接返回对象即可,不需要自己序列化
spring-boot
配置的ObjectMapper
会被注入到MappingJackson2HttpMessageConverter
里做序列化