当前位置: 首页 > wzjs >正文

有网站用nodejs做后台国内最新新闻

有网站用nodejs做后台,国内最新新闻,jsp编写网站,如何搭建网站教程视频为什么需要自定义Jackson序列化和反序列化?下面举个例子看看就知道了 问题描述 由于 Spring Boot 内置使用的就是 Jackson JSON 框架,所以,无需引入新的依赖,仅需添加自定义配置类即可,让其支持新的日期 API Controller层的代码…

为什么需要自定义Jackson序列化和反序列化?下面举个例子看看就知道了

问题描述

由于 Spring Boot 内置使用的就是 Jackson JSON 框架,所以,无需引入新的依赖,仅需添加自定义配置类即可,让其支持新的日期 API

Controller层的代码如下

@RestController
public class TestController {@PostMapping("/test2")public Response<User> test2(@RequestBody User user) {return Response.success(user);}
}

定义一个实体类User但是实体类含有LocalDateTime的日期类型

public class User {/*** 昵称*/private String nickName;/*** 创建时间*/private LocalDateTime createTime;
}

可以通过Postman这些工具来测试一下

下面是入参

{"nickName" : "小明","createTime": "2024-05-14 12:00:00"
}

你回发现一个问题就是,会报错

JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime` from String "2024-05-14 12:00:00": Failed to deserialize java.time.LocalDateTime: (java.time.format.DateTimeParseException) Text '2024-05-14 12:00:00' could not be parsed at index 10]

提示我们 JSON 解析错误,无法将 2024-05-14 12:00:00 字符串解析为 java.time.LocalDateTime 日期类。

问题解决

需要自己定义一个配置类,覆盖框架本身的配置

@Configuration
public class JacksonConfig {@Beanpublic ObjectMapper objectMapper() {// 初始化一个 ObjectMapper 对象,用于自定义 Jackson 的行为ObjectMapper objectMapper = new ObjectMapper();// 忽略未知属性objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);// 设置时区objectMapper.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));// JavaTimeModule 用于指定序列化和反序列化规则JavaTimeModule javaTimeModule = new JavaTimeModule();// 支持 LocalDateTime、LocalDate、LocalTimejavaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss")));javaTimeModule.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern("HH:mm:ss")));// 支持 YearMonthjavaTimeModule.addSerializer(YearMonth.class, new YearMonthSerializer(DateTimeFormatter.ofPattern("yyyy-MM")));javaTimeModule.addDeserializer(YearMonth.class, new YearMonthDeserializer(DateTimeFormatter.ofPattern("yyyy-MM")));objectMapper.registerModule(javaTimeModule);return objectMapper;}
}

完成之后,出入参实体类中就能支持定义 LocalDateTime 日期 API 了

http://www.dtcms.com/wzjs/210825.html

相关文章:

  • 英文网站推广方法代写软文
  • 做海报用的图片网站河源市seo点击排名软件价格
  • 网站开发模板免费下载seo内部优化具体做什么
  • 用jsp做视频网站百度网址安全中心怎么关闭
  • 网站seo怎样做网址查询入口
  • 为什么后台编辑内容和网站上面显示的内容不一致世界最新新闻
  • 眼查看网站开发语言绍兴seo排名公司
  • 中山公众号平台商场网站建设如何在百度上做广告宣传
  • 河南营销型网站建设如何做企业产品推广
  • 南宁市规划建设局 网站免费精准客源
  • 做网站必须要购买域名陕西网站推广公司
  • 网站建设一般怎么付款青岛seo排名公司
  • 网站排名软件下载windows清理优化大师
  • 做国际物流需要哪些网站2022最新引流推广平台
  • 建设网站西丽网络搜索优化
  • 昆山建设局图审中心网站北京网站优化策略
  • 阿里云建设网站流程搜索推广平台有哪些
  • 网站关键词如何优化网站设计公司建设网站
  • 网站能查到从哪里做的吗上海推广网络营销咨询热线
  • 网站进度条源代码juqery-ui网络推广引流有哪些渠道
  • 电商网站设计公司力推亿企邦网站信息查询
  • 北京建设教育协会官方网站新媒体运营岗位职责
  • 网站建设需要公司免费网站seo诊断
  • 南京网站制作链接yahoo搜索引擎提交入口
  • 网站做自适应seo搜索引擎优化服务
  • 建设银行官网站查询如何用手机免费创建网站
  • 做网站推广微信叫什么网名好注册网站需要多少钱
  • wordpress外贸建站怎么加左侧边栏百度快照是啥
  • 阿里云nas做网站营销策略有哪些内容
  • 网站做seo需要大量文章重庆企业免费建站