当前位置:
首页 >
前端技术
> javascript
>内容正文
javascript
SpringBoot 序列化与反序列化日期类型参数
生活随笔
收集整理的这篇文章主要介绍了
SpringBoot 序列化与反序列化日期类型参数
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
简介
当使用 RequestBody 接收Json类型参数时,LocalDateTime序列化需要单独在字段配置。另外,接口返回的对象包含Date、LocalDateTime,也需要在字段配置@JsonFormat。
因此,最好的方式是全局配置,让开发人员无感地像普通参数那样使用,这是最方便的。
实现
下面这个方法可以直接用,处理了Date、LocalDate、LocalDateTime三大类型
@Configuration public class JasonConf {@Bean@ConditionalOnMissingBean(ObjectMapper.class)public ObjectMapper getObjectMapper() {ObjectMapper objectMapper = new ObjectMapper();//Date类型序列化TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN);simpleDateFormat.setTimeZone(timeZone);objectMapper.setDateFormat(simpleDateFormat);//LocalDate、LocalDateTime序列化JavaTimeModule javaTimeModule = new JavaTimeModule();DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN);javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(dateTimeFormatter));javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(dateTimeFormatter));objectMapper.registerModule(javaTimeModule);return objectMapper;} }测试
定义个User实体类:
@Data public class User {private String name;private Date createdOn;private LocalDate birth;private LocalDateTime modifiedOn; }写个接口测试:
@RequestMapping("/add.json")@ResponseBodypublic User add(@RequestBody User user){user.setCreatedOn(new Date());return user;}使用Postman进行测试,结果符合要求
总结
以上是生活随笔为你收集整理的SpringBoot 序列化与反序列化日期类型参数的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: SpringBoot 使用WebMvcC
- 下一篇: SpringBoot+Redis防止接口