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

Spring集成Swagger常見錯誤及解決辦法

 更新時間:2021年05月03日 10:09:30   作者:黑色的燈塔  
這篇文章主要介紹了Spring集成Swagger常見錯誤及解決辦法,幫助大家更好的理解和學(xué)習(xí)使用Spring,感興趣的朋友可以了解下

概覽

在當(dāng)下幾乎所有的公司都采用了前后端分離的開發(fā)模式,Swagger作為了在API在線文檔工具,幾乎是后端開發(fā)的必備組件,最近公司的有個項目,在項目啟動和打開Swagger頁面時候,后端產(chǎn)生了大量的異常日志,雖然不影響現(xiàn)在的正常啟動,不過,每次看到大量的異常日志,對于有代碼潔癖的我,不能忍。于是乎今天抽了個時間把以下這些問題解決了,解決后再看日志,簡直不能再爽歪歪啦~ 下面對問題以及解決的辦法做個記錄。

問題一

異常描述:No enum constant org.springframework.web.bind.annotation.RequestMethod.Get

項目啟動的時候,后臺日志報如下異常:

原因

根據(jù)異常棧,能看出是springfox-swagger-common執(zhí)行OperationHttpMethodReader.apply()方法是拋出來的,分析日志 RequestMethod.Get 沒有對應(yīng)的enum,通過檢查Controller中RequestMethod,發(fā)現(xiàn)了問題所在:

枚舉類中method方法都是大寫, 而我的代碼中將method寫成了:

導(dǎo)致了在獲取enum類型的時候,匹配不上拋出異常。

解決辦法

將httpMethod = "Get" 給成 "GET"即可。其實原來就很好奇為什么httpMethod后添加的方法名稱是大寫,當(dāng)時也沒有深入的去研究,正好借此機會知道背后的原因,這樣在開發(fā)過程中才能避免很多坑~~

問題二

異常描述:java.lang.NumberFormatException:For input string:""

項目起來后,訪問swagger-ui.html頁面后,接口文檔可以正常展示和使用,不過后臺會出現(xiàn)異常的日志:

原因

看日志,swagger-models這個包中的AbstractSerializableParameter.getExample()方法的時候出現(xiàn)異常了,此外還有一條WARN日志,Illegal DefaultValue null for parameter type integer,意思是:有個默認值是空字符串的變量轉(zhuǎn)換成Integer類型時異常。

通過全局檢索:Illegal DefaultValue,查看如下:

發(fā)現(xiàn)example只判斷的null這種情況,當(dāng)example如果為空字符串的話,照樣往下執(zhí)行,Long.valueOf(example)就是拋出異常,奔潰的心,好想把他的源碼改掉呀~

解決辦法

分析了下maven的包依賴:

發(fā)現(xiàn)swagger-models的版本為 1.5.20,果斷去mvnrepository上去尋找有么有新的包修復(fù)過這個bug:

發(fā)現(xiàn)最新的版本 1.6.2,果斷換成最新版本:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- 解決 Illegal DefaultValue null for parameter type integer -->
<dependency>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-models</artifactId>
    <version>1.6.2</version>
</dependency>

看下源碼:

發(fā)現(xiàn)這個bug已經(jīng)修復(fù)啦,哈哈哈哈

以上就是Spring集成Swagger常見錯誤及解決辦法的詳細內(nèi)容,更多關(guān)于Spring集成Swagger常見錯誤的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • @JsonFormat?和?@DateTimeFormat?時間格式化注解(場景示例代碼)

    @JsonFormat?和?@DateTimeFormat?時間格式化注解(場景示例代碼)

    這篇文章主要介紹了@JsonFormat和@DateTimeFormat時間格式化注解,本文通過場景示例代碼詳解給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • 分布式醫(yī)療掛號系統(tǒng)EasyExcel導(dǎo)入導(dǎo)出數(shù)據(jù)字典的使用

    分布式醫(yī)療掛號系統(tǒng)EasyExcel導(dǎo)入導(dǎo)出數(shù)據(jù)字典的使用

    這篇文章主要為大家介紹了分布式醫(yī)療掛號系統(tǒng)EasyExcel導(dǎo)入導(dǎo)出數(shù)據(jù)字典的使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • Java多線程并發(fā)之線程池任務(wù)請求攔截測試實例

    Java多線程并發(fā)之線程池任務(wù)請求攔截測試實例

    這篇文章主要介紹了Java多線程并發(fā)之線程池任務(wù)請求攔截測試實例,隊列中永遠沒有線程被加入,即使線程池已滿,也不會導(dǎo)致被加入排隊隊列,實現(xiàn)了只有線程池存在空閑線程的時候才會接受新任務(wù)的需求,需要的朋友可以參考下
    2023-12-12
  • Java定時器問題實例解析

    Java定時器問題實例解析

    這篇文章主要結(jié)合實例介紹了java當(dāng)中的定時器的一些問題,有需要的朋友可以參考一下
    2017-04-04
  • SpringBoot框架RESTful接口設(shè)置跨域允許

    SpringBoot框架RESTful接口設(shè)置跨域允許

    這篇文章主要為大家詳細介紹了SpringBoot框架RESTful接口設(shè)置跨域允許,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 淺談foreach寫失效的問題

    淺談foreach寫失效的問題

    下面小編就為大家?guī)硪黄獪\談foreach寫失效的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • java 運行報錯has been compiled by a more recent version of the Java Runtime

    java 運行報錯has been compiled by a more recent version of the J

    java 運行報錯has been compiled by a more recent version of the Java Runtime (class file version 54.0)
    2021-04-04
  • 詳解Spring中bean生命周期回調(diào)方法

    詳解Spring中bean生命周期回調(diào)方法

    本篇文章主要介紹了詳解Spring中bean生命周期回調(diào)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • SpringBoot+MyBatis-Flex配置ProxySQL的實現(xiàn)步驟

    SpringBoot+MyBatis-Flex配置ProxySQL的實現(xiàn)步驟

    本文主要介紹了SpringBoot+MyBatis-Flex配置ProxySQL的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • java 虛擬機深入了解

    java 虛擬機深入了解

    這篇文章主要介紹了java 虛擬機深入了解的相關(guān)資料,ava虛擬機有自己完善的硬體架構(gòu),如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng),需要的朋友可以參考下
    2017-03-03

最新評論

航空| 迭部县| 呼图壁县| 高台县| 镇雄县| 武强县| 余干县| 开阳县| 灵台县| 柏乡县| 霍林郭勒市| 灵川县| 祁连县| 嘉善县| 孟津县| 华阴市| 鄂温| 惠州市| 新兴县| 固阳县| 绥芬河市| 伊春市| 深州市| 迁安市| 车致| 房产| 新昌县| 饶河县| 玉屏| 敖汉旗| 塔城市| 安泽县| 腾冲县| 清丰县| 新田县| 阿拉善盟| 府谷县| 潍坊市| 武强县| 卢氏县| 安新县|