一文详解JackSon配置信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文详解JackSon配置信息相关的知识,希望对你有一定的参考价值。

参考技术A Spring Boot 在处理对象的序列化和反序列化时,默认使用框架自带的JackSon配置。使用框架默认的,通常会面临如下问题:

针对上述问题,存在很多种解决方案。由于底层框架统一配置拦截类实现的模式不同,还是会存在差异,本文主要说明在不同的配置场景下,自定义Jackson配置的一些注意事项和差异化原因:

为了解决特殊对象(如日期)的序列化和反序列化问题,常用方案如下:

自定义一个Jackson配置信息,需要了解Jackson的一些配置标准,如:

重新编写一个ObjectMapper,替换系统默认的bean,就可以实现接口在post请求模式时,对象序列化与反序列化走子定义配置信息了。

重新编写Jackson后,并不能处理get请求时,日期等特殊对象的序列化处理;针对get请求,编写对象的序列化规则函数,通过实现addFormatters()接口,可扩展支持;

编写一个自定义的ObjectMapper bean对象,设置优先级替换默认bean。

重新编写Jackson后,并不能处理get请求时,日期等特殊对象的序列化处理;针对get请求,编写对象的序列化规则函数,通过实现addFormatters()接口,可扩展支持;

编写自定义配置Jackson信息时,需要重写extendMessageConverters方法。具体技术细节原因,请参考文档《 Spring Boot实现WebMvcConfigurationSupport导致自定义的JSON时间返回格式不生效》

参考文档:《两个知识点应用场景 》, 《使用注意事项》

Spring的 WebMvcConfigurer 接口提供了很多方法让开发者来定制SpringMVC的配置。

WebMvcConfigurationSupport implements ApplicationContextAware, ServletContextAware。支持的自定义的配置更多更全,WebMvcConfigurerAdapter有的方法,这个类也都有。该类注释内容翻译:这是提供MVC Java config 背后配置的主要类。 通常是通过将@EnableWebMvc添加到应用程序的@Configuration类中来导入的。 另一个更高级的选择是直接从此类扩展并在需要时重写方法,记住子类要添加@Configuration,重写带有@Bean的方法也要加上@Bean。

参考文档: 《拦截失效原因》

以上是关于一文详解JackSon配置信息的主要内容,如果未能解决你的问题,请参考以下文章

「软件项目管理」一文详解软件配置管理计划

「软件项目管理」一文详解软件配置管理计划

「软件项目管理」一文详解软件配置管理计划

一文拥有以太坊系链的rpc公用节点和水龙头信息,还有MetaMask的配置方式

SpringBoot读取配置文件信息显示报错

Nginx状态信息(status)配置及信息详解