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

Spring集成Swagger常見(jiàn)錯(cuò)誤及解決辦法

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

概覽

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

問(wèn)題一

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

項(xiàng)目啟動(dòng)的時(shí)候,后臺(tái)日志報(bào)如下異常:

原因

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

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

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

解決辦法

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

問(wèn)題二

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

項(xiàng)目起來(lái)后,訪問(wèn)swagger-ui.html頁(yè)面后,接口文檔可以正常展示和使用,不過(guò)后臺(tái)會(huì)出現(xiàn)異常的日志:

原因

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

通過(guò)全局檢索: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ù)過(guò)這個(gè)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)這個(gè)bug已經(jīng)修復(fù)啦,哈哈哈哈

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

相關(guān)文章

最新評(píng)論

余干县| 建昌县| 盘山县| 镇远县| 华安县| 天峻县| 长丰县| 文登市| 麻江县| 泗阳县| 岐山县| 福安市| 仙居县| 商水县| 台州市| 盈江县| 息烽县| 临汾市| 甘谷县| 蓝山县| 庆云县| 纳雍县| 额尔古纳市| 云林县| 桐梓县| 额敏县| 寿阳县| 清涧县| 荥阳市| 崇礼县| 马鞍山市| 开远市| 遵化市| 陈巴尔虎旗| 金昌市| 大埔区| 马鞍山市| 清远市| 久治县| 达日县| 海晏县|