jackson kt module

简介: jackson kt module

儿童在学校的相似,是强制的结果。一旦毕业,强制随即结束。——爱尔维修

我们在使用jackson时,如果项目还包含kotlin,则会有警告

此时需要引入依赖

<dependency>
    <groupId>com.fasterxml.jackson.module</groupId>
    <artifactId>jackson-module-kotlin</artifactId>
    <version>2.11.3</version>
</dependency>

并添加module

import com.fasterxml.jackson.module.kotlin.KotlinModule;
/**
 * web配置类
 *
 * @author <achao1441470436@gmail.com>
 * @since 2021/5/18 0018 14:52
 */
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
    /**
     * @param converters 转换器
     * @author <achao1441470436@gmail.com>
     * @since 2021/5/21 0021 15:08
     */
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
        ObjectMapper objectMapper = new ObjectMapper();
        // 添加kotlin模块
        objectMapper.registerModule(new KotlinModule());
        objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));
        SimpleModule simpleModule = new SimpleModule();
        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
        objectMapper.registerModule(simpleModule);
        JavaTimeModule module = new JavaTimeModule();
        module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
        module.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
        module.addSerializer(new LocalDateSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
        module.addSerializer(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
        objectMapper.setDateFormat(new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN));
        objectMapper.registerModule(module);
        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        objectMapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
        jackson2HttpMessageConverter.setObjectMapper(objectMapper);
        converters.add(jackson2HttpMessageConverter);
    }
}
相关文章
|
PyTorch Go 算法框架/工具
YOLOv8代码上线,官方宣布将发布论文,附精度速度初探和对比总结
【YOLOv8 注意事项】 1. YOLOv8 的官方仓库和代码已上线,文档教程网址也刚刚更新。 2. YOLOv8 代码集成在 ultralytics 项目中,目前看不会再单独创建叫做 YOLOv8 的项目。 3. YOLOv8 即将有论文了!要知道 YOLOv5 自从 2020 年发布以来,一直是没有论文的。而 YOLOv8(YOLOv5团队)这次首次承认将先发布 arXiv 版本的论文(目前还在火速撰写中)。
2170 0
YOLOv8代码上线,官方宣布将发布论文,附精度速度初探和对比总结
|
5月前
|
网络协议 网络安全 网络架构
开发者急盼!Cisco Packet Tracer超详细下载安装教程,附中文版插件使用步骤!
Cisco Packet Tracer是思科推出的专业路由器模拟器,适用于学习IOS配置、故障排查及网络拓扑构建。支持多种协议(STP、OSPF等),含无线功能与安全设备。本文提供下载链接、安装教程及高级功能介绍,如复杂网络仿真、可视化调试、自动化脚本和行业场景模拟等,助你高效学习网络技术并启用中文语言包。
1811 17
开发者急盼!Cisco Packet Tracer超详细下载安装教程,附中文版插件使用步骤!
|
11月前
|
机器学习/深度学习 自然语言处理 算法
[大语言模型-论文精读] 大语言模型是单样本URL分类器和解释器
[大语言模型-论文精读] 大语言模型是单样本URL分类器和解释器
158 0
|
JavaScript 前端开发 安全
一个贼丝滑的 Vue 2 扩展组件,开源且免费
一个贼丝滑的 Vue 2 扩展组件,开源且免费
|
容器
Element UI 自定义环形进度条里的内容
Element UI 自定义环形进度条里的内容
476 2
|
XML Java 测试技术
Graalvm 替代 JVM 真的可以带来巨大的性能优势吗?
介绍 Spring Boot有助于轻松开发独立的、可用于生产的 Spring 应用程序。它对 Spring 平台和第三方库采用固执己见的方法:以最少的配置简化设置过程。优势: 易于使用:Spring Boot 简化了独立 Spring 应用程序的创建,无需复杂的配置。 嵌入式服务器:它允许直接嵌入 Tomcat、Jetty 或 Undertow 等服务器,从而无需单独部署 WAR 文件。 Starter 依赖项:Spring Boot 提供预配置的“starter”依赖项,降低了构建配置的复杂性。 自动配置:Spring Boot 自动配置 Spring 和第三方库,最大限度地减少手动设置工
|
数据采集 缓存 监控
百亿流量微服务网关的设计与实现(6)
百亿流量微服务网关的设计与实现(6)
648 0
百亿流量微服务网关的设计与实现(6)
|
缓存 前端开发 Java
SpringBoot启动后加载初始化数据
SpringBoot启动后加载初始化数据
482 0
|
存储 JSON NoSQL
JSON 反序列化 Long 变 Integer 或 Double 问题
工作中可能会遇到对 Map<String,Object> 进行 JSON 序列化,其中值中包含 Long 类型的数据,反序列化后强转 Long 时报类型转换异常的问题。 本文简单探讨下该问题,并给出解决方案,如果你想直接看建议,直接翻到第三部分即可。
1790 1
JSON 反序列化 Long 变 Integer 或 Double 问题
|
关系型数据库 数据库 文件存储
PG技术大讲堂 - 第12讲:PostgreSQL wal作用与管理
PostgreSQL从小白到专家,技术大讲堂 - 第12讲:PostgreSQL wal作用与管理
375 1