一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - springboot DTO字符字段與日期字段的轉(zhuǎn)換問題

springboot DTO字符字段與日期字段的轉(zhuǎn)換問題

2020-07-18 12:07張占嶺 Java教程

這篇文章主要介紹了springboot DTO字符字段與日期字段的轉(zhuǎn)換問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

不會自動轉(zhuǎn)換string與date

主要是這個意思,前端提交的JSON里,日期是一個字符串,而對應(yīng)后端的實(shí)體里,它是一個Date的日期,這兩個在默認(rèn)情況下是不能自動轉(zhuǎn)換的,我們先看一下實(shí)體
實(shí)體

?
1
2
3
4
5
6
7
8
public class UserDTO {
 private String name;
 private String email;
 private Boolean sex;
 private Double total;
 private BigDecimal totalMoney;
 private Date birthday;
}

客戶端提交的json對象

?
1
2
3
4
5
6
7
{
 "email": null,
 "name": "lr",
 "total":3,
 "totalMoney":1,
 "birthday":"1983-03-18"
}

服務(wù)端收到的實(shí)體DTO是正常的

springboot DTO字符字段與日期字段的轉(zhuǎn)換問題

而在服務(wù)端響應(yīng)的結(jié)果卻不是日期,而是一個時間戳

?
1
2
3
4
5
6
7
8
{
 "name": "lr",
 "email": null,
 "sex": null,
 "total": "3.00",
 "totalMoney": 0.0000,
 "birthday": 416793600000
}

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

?
1
2
3
4
5
6
7
8
9
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;
}

也可以通過配置文件進(jìn)行設(shè)置

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

這樣,在服務(wù)端向前端響應(yīng)結(jié)果就變成了

springboot DTO字符字段與日期字段的轉(zhuǎn)換問題

使用configureMessageConverters方法全局處理

springboot2.x可以實(shí)現(xiàn)WebMvcConfigurer 接口,然后重寫configureMessageConverters來達(dá)到定制化日期序列化的格式:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
Configuration
@EnableWebMvc //覆蓋默認(rèn)的配置
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"));//只能是一個日期格式化,多個會復(fù)蓋
 }
}

springboot DTO字符字段與日期字段的轉(zhuǎn)換問題

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

總結(jié)

到此這篇關(guān)于springboot~DTO字符字段與日期字段的轉(zhuǎn)換問題的文章就介紹到這了,更多相關(guān)springboot字符字段與日期字段轉(zhuǎn)換內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://www.cnblogs.com/lori/archive/2020/07/17/13330141.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲3dxxxx动漫xxx| 四虎免费影院4hu永久免费 | 欧美另类变态 | 99热com| 久久中文字幕综合不卡一二区 | 久久精品动漫99精品动漫 | caopren免费视频国产 | 2020年最新国产精品视频免费 | 欧美破处女视频 | 双性人bbww欧美双性 | 久久这里只有精品国产精品99 | 男男浴室吸乳play | 欧美精品99久久久久久人 | 91天堂在线| 欧美日韩国产在线人成 | 男人狂躁女人gif动态图 | 久久精品国产在热亚洲 | 日韩高清在线高清免费 | 久久精品中文字幕 | 91久久青青草原线免费 | 国色天香论坛社区在线视频 | 成全视频在线观看免费 | 久久成人永久免费播放 | 国产草逼视频 | 午夜国产在线视频 | 国产福利兔女郎在线观看 | 亚洲国产福利精品一区二区 | 国产精品久久久天天影视香蕉 | 精品精品久久宅男的天堂 | 草莓视频看污 | 四虎影院新地址 | 火影小南被爆羞羞网站进入 | 四虎视屏 | 亚洲AV无码国产精品色在线看 | 亚洲va国产日韩欧美精品色婷婷 | 午夜国产在线视频 | 青草网址 | 亚洲sss综合天堂久久久 | 免费刷10000名片赞网站 | 十大网站免费货源 | 日本精品久久久久久久久免费 |