knife4j(swagger的升級版)使用

目前很多的後臺都開始使用swagger來寫文檔接口了,但是swagger有很多限制:

1、swagger不支持頭部自定義加入參數,如果是頭部有token等之類參數要放入時swagger就無法調試接口了,只有看的份了。

2、swagger對application/json請求的類型的確實很友好,但是對於表單類型的application/x-www-form-urlencoded就很不友好了,你使用了設置了隱藏某個字段,他都會顯示出來,並且不管層級都是解析成一個層級,顯示就是xxx.xx,字段多了看到都是煩惱呀。

3、swagger還不支持離線查看等。。。。。

很多公衆號現在都看到在推廣knife4j(前身swagger-bootstrap-ui),其實看了他們的文章我也很認同他們的做法,雖然現在knife4j做得不是很全面,但是在ui、調試、離線文檔都做了優化。本文主要做了一個小demo(代碼就主要放在碼雲:

https://gitee.com/yh128/SpringDemoProject

上面了,這裏就講一下重要的配置),讓讀者理性去選擇使用的工具,說到底適合自己的纔是最好的嘛。

 

看了代碼以後可以發現,我們配置裏面爲什麼還有swagger的依賴引入呢?

<dependency>            <groupId>com.github.xiaoymin</groupId>            <artifactId>knife4j-spring-boot-starter</artifactId>            <version>2.0.2</version>        </dependency>        <!--  swagger 依賴包      -->        <dependency>            <groupId>io.springfox</groupId>            <artifactId>springfox-swagger-ui</artifactId>            <version>2.9.2</version>        </dependency>        <dependency>            <groupId>io.springfox</groupId>            <artifactId>springfox-swagger2</artifactId>            <version>2.9.2</version>            <exclusions>                <exclusion>                    <artifactId>swagger-annotations</artifactId>                    <groupId>io.swagger</groupId>                </exclusion>                <exclusion>                    <artifactId>swagger-models</artifactId>                    <groupId>io.swagger</groupId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>io.swagger</groupId>            <artifactId>swagger-annotations</artifactId>            <version>1.6.0</version>        </dependency>        <dependency>            <groupId>io.swagger</groupId>            <artifactId>swagger-models</artifactId>            <version>1.6.0</version>        </dependency>

引入了swagger主要的話引入的是ui,這樣就可以使用swagger原有的功能,

爲什麼還要單獨的引入了swagger-annotations 和swagger-models呢?

其實有時候註解上的示例和類型不對的時候會報錯,加入這兩個依賴包就不會了。

運行以後分別是兩者的界面:

 

 

 

 

knife4j這個界面就很養眼,下面就講解一下knife4j的優點:

1、可以自己配置請求頭等信息

2、離線文檔的支持(目前支持了md和html)

3、請求參數層次分明

4、請求實體可以快速找到

5、請求類型方式可以選擇

6、請求返回數據可以選擇說明同時顯示

其他還有很多功能都還不錯,它還在完善中優化中,這個是不錯的工具,如果適合你就快去試試嘛,如果不想侵入形式的那可以考慮其他的在線文檔showdoc,yapi等,感覺都還不錯。

說白了這只是工具,使用工具主要的目的就是提高效率,提高質量,所以取捨就看自己了。

 

                                        文章同時會更新到公衆號,覺得對你有幫助或者有用的可以關注一下哦 

uploading.4e448015.gif正在上傳…重新上傳取消

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章