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

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - Java教程 - springboot:接收date類型的參數方式

springboot:接收date類型的參數方式

2022-02-20 11:44huiy_小溪 Java教程

這篇文章主要介紹了springboot:接收date類型的參數方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

springboot:接收date類型的參數

今天有個postmapping方法,地址都正確,就是死活進不去,真是奇怪了。

終于從日志中得出些端倪,見下:

springboot:接收date類型的參數方式

只有這個屬性報錯,恰恰這個屬性是Date型。

這句話說得更清楚:

"defaultMessage":"Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'expireTime'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@com.alibaba.fastjson.annotation.JSONField java.util.Date] for value '2018-06-29'; nested exception is java.lang.IllegalArgumentException",

查找資料,說只要在字段上加上注解:@DateTimeFormat(pattern="yyyy-MM-dd")

springboot:接收date類型的參數方式

加上后就一切OK了。

springboot 傳遞Date等實體參數時候報錯

傳遞參數Date時候報錯:

"exception": "org.springframework.web.method.annotation.MethodArgumentTypeMismatchException",
"message": "Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@org.springframework.web.bind.annotation.RequestParam java.util.Date] for value '2016-12-27 09:44:58'; nested exception is java.lang.IllegalArgumentException",
swagger2:
@ApiImplicitParam(name = "startDate", paramType = "query", value = "生效時間", dataType = "Date"),
@ApiImplicitParam(name = "endDate", paramType = "query", value = "失效時間", dataType = "Date"),

params由:

?
1
2
@RequestParam(value = "startDate", required = false) Date startDate,
@RequestParam(value = "endDate", required = false) Date endDate,

改為:

?
1
2
@ModelAttribute Date startDate,
@ModelAttribute Date endDate,

此時 參數傳遞正常 但是date值都存在切為當前時間

改回

?
1
2
@RequestParam(value = "startDate", required = false) Date startDate,
@RequestParam(value = "endDate", required = false) Date endDate,

并加入

?
1
2
3
4
@InitBinder
protected void initBinder(WebDataBinder binder) {
    binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));
}

此時參數傳遞正常

時間段查詢條件

?
1
2
3
4
5
6
7
8
9
if (startDate!=null) {//開始時間
    if(endDate!=null){//結束時間  結束時間部位空  查詢時間段內數據
        predicates.add(criteriaBuilder.greaterThanOrEqualTo(root.get("endDate").as(Date.class), startDate ));//輸入開始時間>=開始生效時間
        predicates.add(criteriaBuilder.lessThanOrEqualTo(root.get("startDate").as(Date.class), endDate ));//輸入結束時間<=失效時間
    }else{
        predicates.add(criteriaBuilder.lessThanOrEqualTo(root.get("startDate").as(Date.class), startDate ));
        predicates.add(criteriaBuilder.greaterThanOrEqualTo(root.get("endDate").as(Date.class), startDate ));
    }
}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/huiy/p/9047613.html

延伸 · 閱讀

精彩推薦
  • Java教程解決mybatis plus 駝峰式命名規則問題

    解決mybatis plus 駝峰式命名規則問題

    這篇文章主要介紹了解決mybatis plus 駝峰式命名規則,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    Watson1.07252020-09-27
  • Java教程java構造器 默認構造方法及參數化構造方法

    java構造器 默認構造方法及參數化構造方法

    構造器也叫構造方法、構造函數,是一種特殊類型的方法,負責類中成員變量(域)的初始化。構造器的用處是在創建對象時執行初始化,當創建一個對象...

    努力成為java程序員的啊文9772022-02-13
  • Java教程java版微信和支付寶退款接口

    java版微信和支付寶退款接口

    這篇文章主要為大家詳細介紹了java版微信退款接口和java版支付寶退款接口,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    hu13697664011332021-06-02
  • Java教程windows下java環境變量的設置方法

    windows下java環境變量的設置方法

    在“系統變量”中,設置3項屬性,JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點擊“編輯”,不存在則點擊“新建” ...

    java技術網5802019-10-14
  • Java教程Struts2實現文件上傳功能實例解析

    Struts2實現文件上傳功能實例解析

    這篇文章主要介紹了Struts2實現文件上傳功能實例解析,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    Giving_bestself2082020-07-24
  • Java教程Java鎖之阻塞鎖介紹和代碼實例

    Java鎖之阻塞鎖介紹和代碼實例

    這篇文章主要介紹了Java鎖之阻塞鎖介紹和代碼實例,阻塞鎖與自旋鎖不同,它改變了線程的運行狀態,需要的朋友可以參考下 ...

    junjie3462019-11-29
  • Java教程springcloud gateway聚合swagger2的方法示例

    springcloud gateway聚合swagger2的方法示例

    這篇文章主要介紹了springcloud gateway聚合swagger2的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋...

    十三6332021-07-31
  • Java教程Java實現快速并查集

    Java實現快速并查集

    這篇文章主要為大家詳細介紹了Java實現快速并查集,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    若明天不見6122020-07-05
主站蜘蛛池模板: 亚洲性爱区 | 乌克兰17一18处交 | 男人视频网 | 操弄哥哥的108种姿势 | 国产日本欧美亚洲精品视 | 亚欧毛片基地国产毛片基地 | 5g影院天天影院天天爽影院网站 | 亚洲成a人片777777久久 | 日韩国产欧美精品综合二区 | 人成午夜免费大片在线观看 | 亚洲精品在线看 | 91原创国产| 美女毛片老太婆bbb80岁 | 国产另类视频一区二区三区 | 女教师系列三上悠亚在线观看 | 天堂资源8中文最新版 | 精品一区二区三区免费站 | 日本三级欧美三级人妇英文 | 韩国三级年轻小的胰子完整 | 日韩欧美中文字幕一区 | 国产高清ujzzujzz | 香蕉tv亚洲专区在线观看 | a亚洲视频 | 丫鬟粗大狠狠贯穿h | 丁香六月色婷婷综合网 | 三级伦理影院 | 亚洲天堂网在线观看视频 | 放荡护士玩3p口述 | 免费日批视频 | 青青草原在线免费 | 美女机机对机机的视频(免费) | 色综合欧美色综合七久久 | 亚洲福利一区二区 | 久久九九有精品国产23百花影院 | 色综合视频一区二区三区 | 四虎在线免费播放 | 欧美成人v视频免费看 | 国产一级片在线 | 蘑菇香蕉茄子绿巨人丝瓜草莓 | 国产麻豆91欧美一区二区 | 亚洲国产欧美另类va在线观看 |