国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

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

發(fā)布時(shí)間:2021-07-17 21:51 來(lái)源:腳本之家 閱讀:0 作者:黑色的燈塔 欄目: 編程語(yǔ)言 歡迎投稿:712375056

目錄

概覽

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

問(wèn)題一

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

項目啟動(dòng)的時(shí)候,后臺日志報如下異常:

原因

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

枚舉類(lèi)中method方法都是大寫(xiě), 而我的代碼中將method寫(xiě)成了:

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

解決辦法

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

問(wèn)題二

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

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

原因

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

通過(guò)全局檢索:Illegal DefaultValue,查看如下:

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

解決辦法

分析了下maven的包依賴(lài):

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

發(fā)現最新的版本 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ā)現這個(gè)bug已經(jīng)修復啦,哈哈哈哈

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

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

熟妇人妻久久中文字幕| 国产重口老太和小伙乱| 精品亚洲国产成AV人片传媒| 又色又爽又黄的裸体美女图片| 黑人30厘米全进去| 四虎国产精品免费久久|