當前位置:
首頁 >
前端技术
> 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防止接口