SpringBoot 返回前端的json数据,是在哪里进行序列化的

发布于 2022-09-12 03:56:02 字数 920 浏览 15 评论 0

比如我使用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花开雨落又逢春i 2022-09-19 03:56:02

RequestMappingHandlerAdapter -> RequestResponseBodyMethodProcessor -> MappingJackson2HttpMessageConverter

つ可否回来 2022-09-19 03:56:02

直接返回对象即可,不需要自己序列化
spring-boot配置的ObjectMapper会被注入到MappingJackson2HttpMessageConverter里做序列化

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文