在SpringBoot中配置日期格式化的方法詳解
我們先了解下,為什么需要配置日期格式化?
通常情況下,發(fā)起一個(gè) Http 請(qǐng)求,Spring Boot 會(huì)根據(jù)請(qǐng)求路徑映射到指定 Controller 上的某個(gè)方法的參數(shù)上,接著,Spring 會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換。
對(duì)于日期類型的參數(shù),Spring 默認(rèn)是沒(méi)有配置如何將字符串轉(zhuǎn)換成日期類型的
未配置日期格式化會(huì)如何?
我們新建一個(gè) Web 項(xiàng)目,并定義一個(gè)接口:
package site.exception.springbootdateformat.controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import site.exception.springbootdateformat.entity.User; /** * @time 21:03 * @discription **/ @RestController public class UserController { /** * 定義一個(gè)創(chuàng)建用戶的接口 * @param user * @return */ @PostMapping("/user") public String createUser(User user) { // 打印創(chuàng)建時(shí)間 System.out.println(user.getCreateTime().toString()); return "Create user success !"; } }
User.java
:
package site.exception.springbootdateformat.entity; import java.io.Serializable; import java.util.Date; /** * @time 21:00 * @discription **/ public class User implements Serializable { /** * 用戶名 */ private String username; /** * 密碼 */ private String password; /** * 創(chuàng)建時(shí)間 */ private Date createTime; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } }
用 Postman 工具發(fā)起對(duì)該接口的表單請(qǐng)求,看看結(jié)果:
服務(wù)報(bào)錯(cuò),無(wú)法將字符串類型轉(zhuǎn)換成 java.util.Date
類型。
配置日期格式化
要讓 Spring Boot 能夠按照指定的格式進(jìn)行日期類型轉(zhuǎn)換,需要做以下步驟:
- 定義一個(gè)
MvcConfig
類,讓其實(shí)現(xiàn)WebMvcConfigurer
接口; - 重寫(xiě)
addFormatters
方法; - 添加一個(gè)
DateFormatter
;
package site.exception.springbootdateformat.config; import org.springframework.context.annotation.Configuration; import org.springframework.format.FormatterRegistry; import org.springframework.format.datetime.DateFormatter; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * @author www.exception.site (exception 教程網(wǎng)) * @date 2019/2/16 * @time 20:55 * @discription **/ @Configuration public class MvcConfig implements WebMvcConfigurer { /** * 配置日期格式化 * @param registry */ @Override public void addFormatters(FormatterRegistry registry) { registry.addFormatter(new DateFormatter("yyyy-MM-dd HH:mm:ss")); } }
接下來(lái),再次以表單的形式訪問(wèn) /user
接口,看看效果:
正確輸出 Create user Success ! 接口,并且控制臺(tái),也打印了 createTime
值,說(shuō)明 Spring Boot 已經(jīng)自動(dòng)幫我們做了轉(zhuǎn)換操作:
至此,如何在 Spring Boot 中配置全局的日期格式化就完成了!
注意:本節(jié)中的轉(zhuǎn)換僅支持表單形式請(qǐng)求,不支持
application/json
的請(qǐng)求方式!
以上就是在SpringBoot中配置日期格式化的方法詳解的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot日期格式化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java?mybatis如何操作postgresql?array數(shù)組類型
這篇文章主要介紹了java?mybatis如何操作postgresql?array數(shù)組類型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01selenium高效應(yīng)對(duì)Web頁(yè)面元素刷新的實(shí)例講解
今天小編就為大家分享一篇selenium高效應(yīng)對(duì)Web頁(yè)面元素刷新的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Spring在多線程下@Resource注入為null的問(wèn)題
這篇文章主要介紹了Spring在多線程下@Resource注入為null的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02Java Set集合及其子類HashSet與LinkedHashSet詳解
這篇文章主要介紹了Java Set集合及其子類HashSet與LinkedHashSet詳解,文章通過(guò)Set集合存儲(chǔ)原理展開(kāi)文章主題相關(guān)介紹,感興趣的小伙伴可以參考一下2022-06-06selenium-java實(shí)現(xiàn)自動(dòng)登錄跳轉(zhuǎn)頁(yè)面方式
利用Selenium和Java語(yǔ)言可以編寫(xiě)一個(gè)腳本自動(dòng)刷新網(wǎng)頁(yè),首先,需要確保Google瀏覽器和Chrome-Driver驅(qū)動(dòng)的版本一致,通過(guò)指定網(wǎng)站下載對(duì)應(yīng)版本的瀏覽器和驅(qū)動(dòng),在Maven項(xiàng)目中添加依賴,編寫(xiě)腳本實(shí)現(xiàn)網(wǎng)頁(yè)的自動(dòng)刷新,此方法適用于需要頻繁刷新網(wǎng)頁(yè)的場(chǎng)景,簡(jiǎn)化了操作,提高了效率2024-11-11Android Home鍵監(jiān)聽(tīng)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android Home 鍵監(jiān)聽(tīng)的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Nacos配置文件使用經(jīng)驗(yàn)及CAP原則詳解
這篇文章主要為大家介紹了Nacos配置文件使用經(jīng)驗(yàn)及CAP規(guī)則詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-02-02