国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

springboot DTO字符字段與日期字段的轉換問題

瀏覽:7日期:2023-08-26 10:53:22

不會自動轉換string與date

主要是這個意思,前端提交的JSON里,日期是一個字符串,而對應后端的實體里,它是一個Date的日期,這兩個在默認情況下是不能自動轉換的,我們先看一下實體實體

public class UserDTO { private String name; private String email; private Boolean sex; private Double total; private BigDecimal totalMoney; private Date birthday;}

客戶端提交的json對象

{ 'email': null, 'name': 'lr', 'total':3, 'totalMoney':1, 'birthday':'1983-03-18'}

服務端收到的實體DTO是正常的

springboot DTO字符字段與日期字段的轉換問題

而在服務端響應的結果卻不是日期,而是一個時間戳

{ 'name': 'lr', 'email': null, 'sex': null, 'total': '3.00', 'totalMoney': 0.0000, 'birthday': 416793600000}

我們看到日期型的birthday在響應到前端還是一個時間戳,如果我們希望響應到前端是一個日期,那需要為這個DTO實體添加JsonFormat注解

public class UserDTO { private String name; private String email; private Boolean sex; private Double total; private BigDecimal totalMoney; @JsonFormat(pattern = 'yyyy-MM-dd', timezone = 'GMT+8') private Date birthday;}

也可以通過配置文件進行設置

spring: jackson.date-format: yyyy-MM-dd jackson.time-zone: GMT+8 jackson.serialization.write-dates-as-timestamps: false

這樣,在服務端向前端響應結果就變成了

springboot DTO字符字段與日期字段的轉換問題

使用configureMessageConverters方法全局處理

springboot2.x可以實現WebMvcConfigurer 接口,然后重寫configureMessageConverters來達到定制化日期序列化的格式:

Configuration@EnableWebMvc //覆蓋默認的配置public class WebMvcConfigurerImpl implements WebMvcConfigurer { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); ObjectMapper objectMapper = new ObjectMapper(); // 時間格式化 objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); objectMapper.setDateFormat(new SimpleDateFormat('yyyy-MM-dd'));//只能是一個日期格式化,多個會復蓋 }}

springboot DTO字符字段與日期字段的轉換問題

如上圖所示,如果希望為getup字段添加時分秒,需要在DTO上使用@JsonFormat(pattern='yyyy-MM-dd HH:mm:ss')注解即可。

總結

到此這篇關于springboot~DTO字符字段與日期字段的轉換問題的文章就介紹到這了,更多相關springboot字符字段與日期字段轉換內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 大石桥市| 邢台市| 太谷县| 句容市| 营口市| 洛扎县| 龙井市| 宜阳县| 东平县| 余江县| 伊通| 高平市| 县级市| 宝山区| 广德县| 班戈县| 鄂伦春自治旗| 嘉兴市| 浦县| 稻城县| 四平市| 大冶市| 筠连县| 宁陕县| 彩票| 阿荣旗| 福清市| 京山县| 苍山县| 沭阳县| 顺平县| 莎车县| 宝丰县| 拜城县| 永嘉县| 咸宁市| 中山市| 迁安市| 通化县| 光泽县| 牡丹江市|