最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot接收日期類型參數(shù)的操作方法

 更新時間:2024年02月28日 09:26:40   作者:HelloWorld102  
如果使用Get請求,直接使用對象接收,則可以使用@DateTimeFormat注解進行格式化,本文重點給大家介紹springboot接收日期類型參數(shù)的方法,感興趣的朋友一起看看吧

嘮嗑部分

在做Java開發(fā)時,肯定會碰到傳遞時間參數(shù)的情況吧,比如用戶的出生日期、活動的開始,結(jié)束日期等等,這些參數(shù)往往是由前端傳遞過來的,那么在SpringBoot項目中,該如何正確的接收日期參數(shù)呢,這便是我們今日所說的內(nèi)容

首先我們來回顧一下常用的幾種傳參方式

1、Params參數(shù)

Params參數(shù)也稱路徑傳參,參數(shù)是路徑的一部分,如:http://127.0.0.1:8888/date/receiveParamOfParams/2023-05-22

2、Query參數(shù)

Query參數(shù)通常使用?進行傳遞,多個參數(shù)使用&分割,如:http://127.0.0.1:8888/date/receiveParamOfQuery?bothDate=2023-05-22

3、請求體參數(shù)

請求體參數(shù)也是我們常用的json傳參

那么為什么要回顧傳參方式呢,難道說傳參方式不同,接收日期參數(shù)的方式也不一樣嗎?是的沒錯

下面步入正文。

springboot接收日期類型參數(shù)

如果使用Get請求,直接使用對象接收,則可以使用@DateTimeFormat注解進行格式化,如:

@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startBuyDate;

如果使用Post請求,@RequestBody接收請求體參數(shù),默認(rèn)解析日期格式為yyyy-MM-dd HH:mm:ss , 如果需要接收其他格式的參數(shù),則可以使用@JsonFormat注解,如:

@JsonFormat(timezone="GMT+8",pattern="yyyy-MM-dd")
private Date buyDate;

也可以使用java8新增的LocalDate自定義序列化,如:

@Configuration
@ConditionalOnClass(ObjectMapper.class)
@AutoConfigureBefore(JacksonAutoConfiguration.class)
public class JacksonConfig {
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer customizer() {
        return builder -> {
            builder.locale(Locale.CHINA);
            builder.timeZone(TimeZone.getTimeZone(ZoneId.systemDefault()));
            builder.simpleDateFormat(DatePattern.NORM_DATETIME_PATTERN);
            builder.modules(new TimeModule());
        };
    }
}
public class TimeModule extends SimpleModule {
    public TimeModule() {
        super(PackageVersion.VERSION);
        this.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
        this.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
        this.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN)));
        this.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
        this.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
        this.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN)));
    }
}
//yyyy-MM-dd HH:mm:ss
private LocalDateTime buyDateTime;
//yyyy-MM-dd
private LocalDate buyDate;
//HH:mm:ss
private LocalTime buyTime;

擴展:

springboot項目接收一個日期類型參數(shù)

        1. 在Controller的方法參數(shù)中使用@RequestParam注解接收日期參數(shù),可以通過指定日期格式實現(xiàn),例如:

@GetMapping("/api/date") public String getDate(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date) { // ... }

        2.使用@PathVariable注解接收日期參數(shù),例如

@GetMapping("/api/date/{date}")
public String getDate(@PathVariable("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date) {
    // ...
}

        3. 在請求體中發(fā)送JSON格式的數(shù)據(jù),并使用@RequestBody注解接收日期類型的字段,例如:

@PostMapping("/api/date")
public String getDate(@RequestBody RequestBodyDto requestBodyDto) {
    Date date = requestBodyDto.getDate();
    // ...
}

        其中,RequestBodyDto為請求體對應(yīng)的Java對象,可以使用@JsonFormat注解指定日期格式,例如:

public class RequestBodyDto {
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date date;
    // getter/setter
}

        無論使用哪種方式接收日期參數(shù),都需要注意指定日期格式,以避免類型轉(zhuǎn)換錯誤和日期格式化異常。

到此這篇關(guān)于springboot接收日期類型參數(shù)的文章就介紹到這了,更多相關(guān)springboot日期類型參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Json字符串轉(zhuǎn)Java對象和List代碼實例

    Json字符串轉(zhuǎn)Java對象和List代碼實例

    這篇文章主要介紹了Json字符串轉(zhuǎn)Java對象和List代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 關(guān)于@JsonProperty和@JSONField注解的區(qū)別及用法

    關(guān)于@JsonProperty和@JSONField注解的區(qū)別及用法

    這篇文章主要介紹了關(guān)于@JsonProperty和@JSONField注解的區(qū)別及用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 解決IDEA報錯war?exploded?is?not?valid問題

    解決IDEA報錯war?exploded?is?not?valid問題

    在使用IntelliJ?IDEA時遇到'[projectname]warexploded'無效的問題,可以通過清除項目列表、重新導(dǎo)入項目和配置新的Tomcat來解決,確保在Tomcat配置中,將ApplicationContext修改為僅包含一個'/',這一方法或許能幫助遇到相似問題的開發(fā)者
    2024-09-09
  • SpringBoot 回滾操作的幾種實現(xiàn)方式

    SpringBoot 回滾操作的幾種實現(xiàn)方式

    回滾操作是一種常見的操作,用于撤銷之前執(zhí)行的操作,本文主要介紹了SpringBoot回滾操作的幾種實現(xiàn)方式,包含基于異常類型的回滾、基于自定義邏輯的回滾和基于數(shù)據(jù)庫狀態(tài)的回滾,感興趣的可以了解一下
    2024-03-03
  • java版數(shù)獨游戲界面實現(xiàn)(二)

    java版數(shù)獨游戲界面實現(xiàn)(二)

    這篇文章主要為大家詳細介紹了java版數(shù)獨游戲界面實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Spring Boot項目添加外部Jar包以及配置多數(shù)據(jù)源的完整步驟

    Spring Boot項目添加外部Jar包以及配置多數(shù)據(jù)源的完整步驟

    這篇文章主要給大家介紹了關(guān)于Spring Boot項目添加外部Jar包以及配置多數(shù)據(jù)源的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • java弱口令檢測機制解析

    java弱口令檢測機制解析

    這篇文章主要介紹了java弱口令檢測機制,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java基礎(chǔ)知識精通循環(huán)結(jié)構(gòu)與break及continue

    Java基礎(chǔ)知識精通循環(huán)結(jié)構(gòu)與break及continue

    循環(huán)結(jié)構(gòu)是指在程序中需要反復(fù)執(zhí)行某個功能而設(shè)置的一種程序結(jié)構(gòu)。它由循環(huán)體中的條件,判斷繼續(xù)執(zhí)行某個功能還是退出循環(huán),選擇結(jié)構(gòu)用于判斷給定的條件,根據(jù)判斷的結(jié)果判斷某些條件,根據(jù)判斷的結(jié)果來控制程序的流程
    2022-04-04
  • Bean的管理與SpringBoot自動裝配原理解讀

    Bean的管理與SpringBoot自動裝配原理解讀

    在SpringBoot項目中,啟動時自動創(chuàng)建IOC容器并初始化bean對象,支持通過依賴注入獲取,Bean可以通過name或類型獲取,支持單例和非單例等多種作用域,對于第三方Bean,推薦在配置類中用@Bean標(biāo)識方法進行定義
    2024-11-11
  • Java8中Stream的一些神操作

    Java8中Stream的一些神操作

    Stream是Java8中處理集合的關(guān)鍵抽象概念,它可以指定你希望對集合進行的操作,可以執(zhí)行非常復(fù)雜的查找、過濾和映射數(shù)據(jù)等操作,這篇文章主要給大家介紹了Java8中Stream的一些神操作,需要的朋友可以參考下
    2021-11-11

最新評論

余江县| 六盘水市| 神池县| 民县| 宜丰县| 如皋市| 青冈县| 黄龙县| 观塘区| 通城县| 昌黎县| 夏邑县| 布尔津县| 五指山市| 河间市| 揭阳市| 安康市| 东乡县| 沙洋县| 石屏县| 博客| 宁化县| 涿州市| 利辛县| 涞水县| 德惠市| 遂平县| 渑池县| 仙桃市| 公安县| 濮阳市| 酉阳| 呼图壁县| 彩票| 阿图什市| 灌云县| 南汇区| 阿巴嘎旗| 镶黄旗| 观塘区| 普安县|