国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Spring Boot:玩轉(zhuǎn)日期時(shí)間類(lèi)型參數(shù)轉(zhuǎn)換技巧

開(kāi)發(fā) 前端
日期類(lèi)型參數(shù)前端傳遞過(guò)來(lái)通常是yyyy-MM-dd或yyyy-MMdd HH:mm:ss格式的字符串,而接收參數(shù)的對(duì)象中往往是LocalDate、LocalDateTime、Date,映射的時(shí)候經(jīng)常會(huì)出現(xiàn)異常報(bào)錯(cuò),這篇文章用一個(gè)小例子來(lái)分享遇到這種情況是應(yīng)該是如何解決?

前言

在實(shí)際使用Spring MVC開(kāi)發(fā)java web項(xiàng)目的過(guò)程中,前端調(diào)用后端的接口時(shí),通常是以json報(bào)文的格式傳遞到后臺(tái),spring會(huì)對(duì)抆參數(shù)進(jìn)行解析最后映射到controller層方法中。而日期類(lèi)型參數(shù)前端傳遞過(guò)來(lái)通常是yyyy-MM-dd或yyyy-MMdd HH:mm:ss格式的字符串,而接收參數(shù)的對(duì)象中往往是LocalDate、LocalDateTime、Date,映射的時(shí)候經(jīng)常會(huì)出現(xiàn)異常報(bào)錯(cuò),這篇文章用一個(gè)小例子來(lái)分享遇到這種情況是應(yīng)該是如何解決?

常用的日期類(lèi)型

java.time.LocalDate;

java.time.LocalDateTime;

java.util.Date;

完成目標(biāo)

前臺(tái)傳遞到后臺(tái)一個(gè)字符類(lèi)型的日期(yyyy-MM-dd),后臺(tái)使用LocalDate來(lái)接收,并且返回值中格式與傳入相同。

前臺(tái)傳遞到后臺(tái)一個(gè)字符類(lèi)型的日期時(shí)間(yyyy-MM-dd HH:mm:ss),后臺(tái)怎么使用LocalDateTime來(lái)接收,并且返回值中格式與傳入相同。

前臺(tái)傳遞到后臺(tái)一個(gè)字符類(lèi)型的日期時(shí)間(yyyy-MM-dd HH:mm:ss),后臺(tái)怎么使用java.util.Date來(lái)接收,并且返回值中格式與傳入相同。

具體實(shí)現(xiàn)方法

1、java.util.Date類(lèi)型的日期的類(lèi)型轉(zhuǎn)移與格式化使用@JsonFormat即可解決;對(duì)于LocalDate與LocalDateTime類(lèi)型的需要全局配置自定義類(lèi)型轉(zhuǎn)換器;

2、對(duì)于LoclDateTime類(lèi)型的參數(shù),在序列化與反序列化的時(shí)候會(huì)有異常,通過(guò)Jackson2ObjectMapperBuilderCustomizer自定義一下LocalDate和LocalDateTime兩種類(lèi)型的序列化處理器即可解決這個(gè)異常;

JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime` 
Failed to deserialize java.time.LocalDateTime
 nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.time.LocalDateTime`

日期格式轉(zhuǎn)換器配置

  • LocalDateConverter方法使用Converter接口實(shí)現(xiàn)了一個(gè)將字符串轉(zhuǎn)換為L(zhǎng)ocalDate對(duì)象的轉(zhuǎn)換器。它使用LocalDate.parse方法將傳入的字符串按照"yyyy-MM-dd"的格式解析成LocalDate對(duì)象。
  • LocalDateTimeConverter方法也使用Converter接口實(shí)現(xiàn)了一個(gè)將字符串轉(zhuǎn)換為L(zhǎng)ocalDateTime對(duì)象的轉(zhuǎn)換器。它使用LocalDateTime.parse方法將傳入的字符串按照"yyyy-MM-dd HH:mm:ss"的格式解析成LocalDateTime對(duì)象。
  • jsonCustomizer方法定義了一個(gè)Jackson2ObjectMapperBuilderCustomizer對(duì)象,該對(duì)象用于自定義Jackson庫(kù)的配置。首先,它創(chuàng)建了一個(gè)JavaTimeModule對(duì)象,用于支持Java 8日期時(shí)間類(lèi)的序列化和反序列化。然后,它創(chuàng)建了一個(gè)LocalDateTimeDeserializer對(duì)象,用于將字符串按照"yyyy-MM-dd HH:mm:ss"的格式反序列化成LocalDateTime對(duì)象。最后,它使用Jackson2ObjectMapperBuilder的方法設(shè)置了日期時(shí)間格式和序列化器,并將JavaTimeModule模塊添加到構(gòu)建器中。
@Bean
    public Converter<String, LocalDate> LocalDateConverter() {
        return new Converter<String, LocalDate>() {
            @Override
            public LocalDate convert(String source) {
                return LocalDate.parse(source, DateTimeFormatter.ofPattern("yyyy-MM-dd"));


            }
        };
    }


    @Bean
    @ConditionalOnBean(name = "requestMappingHandlerAdapter")
    public Converter<String, LocalDateTime> LocalDateTimeConverter() {
        return new Converter<String, LocalDateTime>() {
            @Override
            public LocalDateTime convert(String source) {
                return LocalDateTime.parse(source, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));


            }
        };
    }


    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
        JavaTimeModule module = new JavaTimeModule();
        LocalDateTimeDeserializer localDateTimeDeserializer = new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        module.addDeserializer(LocalDateTime.class, localDateTimeDeserializer);
        return new Jackson2ObjectMapperBuilderCustomizer() {
            @Override
            public void customize(Jackson2ObjectMapperBuilder builder) {
                builder.simpleDateFormat("yyyy-MM-dd HH:mm:ss");
                builder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                builder.serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                builder.modules(module);
            }
        };
    }
}

接收參數(shù)對(duì)象配置

@Data
public class Person implements Serializable {


    private String perName;


    private LocalDate born;


    private LocalDateTime loginTime;


    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date date1;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date date2;
    private List<LocalDate> localDates;
    private List<LocalDateTime> localDateTimes;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private List<Date> dates;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private List<Date> dateTimes;
}

controller層方法接收參數(shù)

@RestController
@RequestMapping("/date")
public class DateConvertController {
    @PostMapping("/conTest")
    public Person conTest(@RequestBody Person person){
        System.out.println("姓名:"+person.getPerName()+",出生日期:"+person.getBorn()+",登入時(shí)間:"+person.getLoginTime());


        return person;
    }
}


責(zé)任編輯:武曉燕 來(lái)源: 凡夫貶夫
相關(guān)推薦

2023-09-27 08:14:56

2024-09-09 05:30:00

數(shù)據(jù)庫(kù)Spring

2025-04-09 00:55:00

List類(lèi)型Redis

2021-03-27 10:54:34

Python函數(shù)代碼

2010-07-19 15:37:48

Perl日期時(shí)間

2025-01-21 08:10:00

2024-06-17 09:40:45

UTCDay.js庫(kù)時(shí)間轉(zhuǎn)換

2023-05-31 08:24:20

SQLAlchemyPython

2023-09-24 13:55:42

Spring應(yīng)用程序

2024-10-29 11:27:27

2021-08-12 10:32:50

Spring Boot參數(shù)校驗(yàn)分組校驗(yàn)

2021-08-10 15:11:27

Spring Boot參數(shù)校驗(yàn)

2025-04-01 05:00:00

OAuth2服務(wù)器身份驗(yàn)證

2011-08-22 10:59:42

SQL Server日期時(shí)間格式轉(zhuǎn)換字符串

2010-05-11 10:22:43

Mysql日期

2010-09-14 14:32:02

sql server日

2009-12-09 11:21:30

Linux實(shí)用技巧

2020-09-28 10:58:26

Google AI技術(shù)

2009-12-08 10:38:51

Windows 7操作

2025-02-13 08:06:54

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

一区二区三区在线观看网站| 国产精品私人影院| 国产在线精品免费| 天天色天天射综合网| 国产三级三级看三级| 日韩欧美国产免费| 国产91在线视频观看| 午夜免费高清视频| 日韩av在线电影观看| 青青青免费在线| 国产精品91久久久| 懂色av一区二区三区在线播放| 久久精品国产成人| 亚洲国产欧美一区二区三区久久| 欧美xxxx老人做受| 久久精品国产免费| 美女网站一区二区| 啪啪av大全导航福利综合导航| 在线播放三级网站| 国产 欧美 日韩 一区| 久久国产精品亚洲| 欧美精品欧美精品系列c| 日本阿v视频在线观看| 麻豆久久久av免费| 羞羞色国产精品| 四虎黄色影院| 91精品国产综合久久久久久蜜臀| 亚洲人午夜精品免费| 欧美性猛交xxxx免费看久久久| 国产在线精品免费av| 久久久久久美女精品 | 亚洲片区在线| 久久97久久97精品免视看秋霞| 少妇av在线| 伊人久久综合97精品| 色噜噜狠狠一区二区三区| 亚洲色图五月天| 欧美日韩精品高清| 亚洲综合精品久久| 久久综合99re88久久爱| 蜜臀av性久久久久蜜臀aⅴ流畅| 偷偷www综合久久久久久久| 精品国产乱码久久久久久樱花| 污视频网站在线免费| 亚洲图片欧美日产| 国产成人免费av| 国产成+人+综合+亚洲欧美丁香花| 日本一二区不卡| 国产成人精品免费久久久久| 久久精品国产精品亚洲| 日韩欧美视频一区二区| 2023欧美最顶级a∨艳星| 国产一区二区三区免费观看在线| 久久国产免费看| 精品国产伦理网| 一区二区三区国| 波多野结衣精品| 免费av网站大全久久| 精品久久人人做人人爰| 先锋影音日韩| 北岛玲heyzo一区二区| 日韩视频在线直播| 中文字幕亚洲综合久久菠萝蜜| 欧美激情一级欧美精品| 99视频资源网| 天天射成人网| 91精品国产综合久久久蜜臀粉嫩 | 久久久999免费视频| 精品国产一区二区三区性色av| 久久综合久色欧美综合狠狠| 38少妇精品导航| 裸体xxxx视频在线| 美女视频黄频大全不卡视频在线播放| 日韩欧美高清dvd碟片| 免费拍拍拍网站| 亚洲激情播播| 92国产精品| 欧美国产成人精品| 91在线免费网站| 久久国产情侣| 麻豆久久婷婷| 九九热精品在线| 国产在线高清| 国产成人自拍网| 欧美激情18p| 99精品老司机免费视频| 韩国精品在线观看| 欧美一区二区三区……| 最新国产在线拍揄自揄视频| 久久精品亚洲精品国产欧美 | 免费无码av片在线观看| 亚洲欧美一级二级三级| 日韩亚洲欧美成人| 男人av在线| 国产精品伦理一区二区| 日韩av一级大片| 狠狠色狠狠色综合婷婷tag| 国产亚洲一级高清| 自拍视频在线网| 中文字幕亚洲欧美在线不卡| 一级黄色录像免费看| 欧美高清视频手机在在线| 粗暴蹂躏中文一区二区三区| 性欧美ⅴideo另类hd| 亚洲成人综合网站| 霍思燕三级露全乳照| 国产精品入口66mio| 97成人在线视频| 国产精品av一区二区三区| 色婷婷国产精品综合在线观看| 青青青青草视频| 久久国产精品99精品国产 | 在线免费不卡视频| 黄色毛片av| 综合色中文字幕| 日本成人黄色网| 精品亚洲成av人在线观看| 国产精品视频在线免费观看| 午夜精品一区二区三区国产 | 日韩啊v在线| 国产一区欧美| 91精品在线看| 国产一区二区三区探花| 性色av一区二区三区红粉影视| 国产91欧美| 亚洲精品日韩久久久| aa国产成人| 亚洲第一福利网| 26uuu亚洲电影在线观看| 欧美三区在线观看| 深夜福利在线视频| 欧美日韩情趣电影| 日本中文字幕伦在线观看| 欧美剧在线免费观看网站| a级影片在线观看| 久久精品这里热有精品| 1024手机看片国产| 欧美日韩国产一中文字不卡| av网址在线播放| 午夜精品一区二区三区在线视| 极品av少妇一区二区| 韩国日本美国免费毛片| 91精品国产日韩91久久久久久| 成人资源在线播放| 蜜桃91精品入口| 亚洲午夜激情av| 国产精品日本一区二区不卡视频| 欧美乱大交xxxxx另类电影| 亚洲视频福利| 无码人妻精品一区二区三区66| 欧美在线观看一二区| 超碰97成人| 色哟哟免费网站| 欧美日韩大陆在线| 精品视频网站| 无码少妇一区二区三区芒果| 欧美成人video| 国产综合久久久| 91高清视频免费| 亚洲日本激情| 啦啦啦啦免费高清视频在线观看1| 亚洲最新中文字幕| 欧美日韩亚洲一区三区| 欧美大尺度做爰床戏| 亚洲久久久久久久久久久| 亚洲特级毛片| 资源视频在线播放免费| 国产69精品久久久久9| 久久午夜精品| 天堂中文av| 97视频在线观看亚洲| 91欧美激情一区二区三区成人| 国产亚洲成av人片在线观看| 国产精品一区在线播放| 亚洲va在线va天堂| 亚洲欧洲美洲国产香蕉| 无码无遮挡又大又爽又黄的视频| 亚洲精品理论电影| 美国毛片一区二区三区| www在线观看黄色| 91亚洲精品国产| 两个人的视频www国产精品| 亚洲美女91| 又黄又爽无遮挡| 日韩毛片中文字幕| 久久不见久久见免费视频7| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲欧洲精品一区二区三区 | 18成人在线视频| 三级成人在线| 另类小说综合网| 欧美日韩视频免费播放| 精品国产乱码一区二区三区| 日本一区二区三不卡| 一本大道久久a久久综合婷婷| 少妇高潮一区二区三区| 久久久久久久久久久久久国产精品| 欧美成人r级一区二区三区| 一本色道久久综合| 九色视频在线播放|