SpringFox 初體驗


本文來自網易雲社區

 

1、什么是SpringFox?

 

1.1 Springfox

是一個開源的API Doc的框架, 它的前身是swagger-springmvc,可以將我們的Controller中的方法以文檔的形式展現。官方定義為: Automated JSON API documentation for API's built with Spring。

1.2 Swagger

那Swagger又是什么哩? 官方說法:Swagger是一個規范和完整的框架,用於生成、描述、調用和可視化 RESTful 風格的 Web 服務。總體目標是使客戶端和文件系統作為服務器以同樣的速度來更新。文件的方法,參數和模型緊密集成到服務器端的代碼,允許API來始終保持同步。

 

2、SpringFox能做什么?

  • 首先、使前端和后端更加解耦,前后端的對接通常是API形式,而后端開發人員在開發的過程中,提供的API和描述文檔卻是難以同步的,往往是開發代碼完成了,但文檔描述並不及時,甚至會忘記這一環節,導致前端調用API時經常發生錯誤,因此,springfox應運而生,它將前后端有效分離,並保證了API與文檔的實時同步;
  • 其次、使用springfox生成的接口文檔直觀可視,也幫助后端開發人員脫離了寫接口文檔的痛苦,及避免不厭其煩的解說各個接口需要的參數和返回結果;
  • 再次、springfox支持在線測試,可實時檢查參數和返回值。

 

3、怎么使用SpringFox?

 

現在,基於maven框架創建一個簡單的springmvc項目,並以此為例來說明下springfox的使用。

3.1 基本依賴

springfox目前最新版本是2.6.1,在pom.xml中引入如下2個包

<dependency>    <groupId>io.springfox</groupId>    <artifactId>springfox-swagger2</artifactId>    <version>2.6.1</version></dependency><dependency>    <groupId>io.springfox</groupId>    <artifactId>springfox-swagger-ui</artifactId>    <version>2.6.1</version></dependency>

同時、因為swagger需要jackson支持,故pom.xml中也要引入jackson關聯的包,當前最新版本是2.8.6

 

<!--jackson用於將springfox返回的文檔對象轉換成JSON字符串 --><dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-annotations</artifactId>    <version>2.8.6</version></dependency><dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-databind</artifactId>    <version>2.8.6</version></dependency><dependency>    <groupId>com.fasterxml.jackson.core</groupId>    <artifactId>jackson-core</artifactId>    <version>2.8.6</version></dependency>

3.2 一個簡單的springmvc項目

 

1、如圖所示,一個簡單的springmvc項目結構:

 

 

 

 

2、web.xml配置文件如下:

 

 

3、springfox-test-servlet.xml配置文件如下:

 

4、swagger配置類SwaggerApiConfig.java, 在這里可以設置swaggerUI的頁面個性信息、加載類的過濾等,如圖示例:

 

 

 

 

5、最后,在Controller類中添加springfox注解

 

 

 

 

6、以上配置無誤的話,將項目放入Tomcat中啟動(或用maven的集成tomcat插件亦可),訪問頁面地址,將會出現如下頁面。

 

 

 

 

7、展開這個接口,可以看到頁面清晰,說明詳細,而且還可以測試哦

 

 

 

以及 try it out!

 

 

 

4、參考文獻

springfox

  1. 官網:
  2. 使用說明:

 

本文來自網易雲社區,經作者鄭勤授權發布。

原文: SpringFox 初體驗

網易雲新用戶大禮包:https://www.163yun.com/gift

更多網易研發、產品、運營經驗分享請訪問網易雲社區


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM