Swagger搭建Restful接口教程一
一、前言
Swagger 是一款RESTFUL接口的文檔在線自動生成+功能測試功能軟件,隨着現在許多公司實現了前后端分離,swagger越來越受歡迎了。
二、歷史版本(絕版干貨)
其實swagger是有兩個版本的,而且區別還挺大的,一個是swagger-ui也就是swagger1;還有一個是springfox-swagger也就是swagger2;很多人都不知道給搞混淆了,兩個版本各有各得特色,本篇博客先說swagger-ui。
三、版本一(swagger-ui)
通過輸入http://localhost:8080/項目跟路徑/dist/index.html直接可以訪問自己的頁面。
我的是http://localhost:8080/swagger_springmvc/dist/index.html#/
四、准備工作
前端html下載
下載dist文件
- swagger-ui版本首先需下載HTML有兩種方式
- 第一種:從github上下載相關html ,;
https://github.com/swagger-api/swagger-ui
注意事項
如果采取第一種下載方式的話,一定要注意版本,千萬不要下載最新的版本dist否則swagger-ui是不支持的。要下載2.x版本的。
詳細地址:https://github.com/swagger-api/swagger-ui/tree/2.x/dist
個人建議還是從我的博客中下載吧,畢竟我已經都給弄好了。
Jar包下載
<!-- Swagger包 --> swagger-springmvc 1.0.2 swagger-models 1.0.2 swagger-annotations 1.3.11 <!-- JSON包 --> json-lib 2.4 <!-- JACKSON包 --> jackson-annotations 2.6.5 jackson-databind 2.6.5 jackson-core 2.6.5
注意事項
這些jar包的版本不能改變,如果版本改了很可能因為版本的原因而實現不了,說個最簡單的Swagger jar包 版本如果變了,很大可能就不行,這個之前博主親自試驗過。
如果你的項目是maven項目的話,那么給的建議就是將這些jar包配到自己的maven倉庫。然后再pom文件里引入,就像我的這樣。
當然你也可以直接add引入,個人建議還是放在pom里比較規范。
五、代碼實現
jar包引入
要引入的jar包(第三章)之前就說了。
前端dist文件引入
將下載的dist文件拷貝到webapp目錄下。(我用的是myeclipse,不同的軟件名字可能不一樣)
在dist文件夾下的index.html文件中修改url將之修改成為你項目swagger的url url命名規范是 IP+端口號+項目根路徑(如果你項目有根路徑的話)+api-docs
注意事項
url后的 api-docs是固定的
Config配置
新建config文件夾,在文件中新建swagger.java文件,配置啟動相關信息。
然后再配置文件中引入本文件
Controller注解
控制層可以有兩種方式展現根據大家喜好來。
方式一
方式二
兩種方式都可以 看大家喜歡那種寫法。
六、成果展現訪問
啟動項目 訪問地址
地址是 IP + 端口號 +項目跟路徑 + / dist/index.html#/
我的是http://localhost:8080/swagger_springmvc/dist/index.html#/ 后綴是固定的 不要改變
Swagger搭建Restful接口教程二
一、前言
上一章節我們說的是swagger-ui也就是swagger1,接下來我們說的是swagger升級版swagger2
Swagger是當前最好用的Restful API文檔生成的開源項目,隨着swagger的越來越流行,原來需要有人把dist封裝成jar,與spring相關框架結合,也就成了springfox-swagger
二、歷史版本(絕版干貨)
其實swagger是有兩個版本的,而且區別還挺大的,一個是swagger-ui也就是swagger1;還有一個是springfox-swagger也就是swagger2;很多人都不知道給搞混淆了,兩個版本各有各得特色,本章二說springfox-swagger。
三、版本二(springfox-swagger(swagger2))
效果展示
通過輸入http://localhost:8080/項目跟路徑/swagger-ui.html直接可以訪問自己的頁面。我的是http://localhost:8080/springfox_springmvc/swagger-ui.html
因為頁面是封裝好的,所以后綴swagger-ui.html是不變的
三、准備工作
Jar包下載
<!-- Swagger包 --> springfox-core-2.6.1 springfox-schema-2.6.1 springfox-spi-2.6.1 springfox-spring-web-2.6.1 springfox-swagger2-2.6.1 springfox-swagger-common-2.6.1 springfox-swagger-ui-2.6.1 swagger-models-1.5.10 swagger-annotations-1.5.10 spring-plugin-metadata-1.2.0.RELEASE spring-plugin-core-1.2.0.RELEASE classmate-1.2.0 guava-18.0 mapstruct-1.0.0.Final <!-- JSON包 --> json-lib-2.4-jdk15 json-lib-2.4-sources <!-- JACKSON包 --> jackson-annotations 2.6.5 jackson-databind 2.6.5 jackson-core 2.6.5
注意事項
這些jar包的版本不能改變,如果版本改了很可能因為版本的原因而實現不了,說個最簡單的Swagger jar包 版本如果變了,很大可能就不行,這個之前博主親自試驗過。
如果你的項目是maven項目的話,那么給的建議就是將這些jar包配到自己的maven倉庫。然后再pom文件里引入,就像我的這樣。
當然你也可以直接add引入,個人建議還是放在pom里比較規范。
以上圖片是我引入的jar 直接復制就行。
四、代碼實現
jar包引入。
要引入的jar包(第三章)之前就說了。
Config配置
新建config文件夾,在文件中新建SwaggerConfigFirst.java文件,配置啟動相關信息。
然后再配置文件中引入本文件
這個SwaggerConFirst類有四個注解,看名稱就可以明白是什么意思。其中,@Configuration,@EnableWebMvc和@ComponentScan是Spring的注解,而@EnableSwagger2則是用來啟動Swagger支持,表示這是一個Spring Swagger的配置文件。
之后,定義了一個Bean方法CustomDocket,Spring中名字並不重要,重要的是它返回一個Docket類,DocumentationType.SWAGGER_2作為Docket構造方法的參數,指定了所用的swagger版本2.0,官網上已經在預告3.0版本了。而之后的apiInfo則是調用接下來的apiInfo函數,來創建Docket的信息。apiInfo函數采用ApiInfoBuilder來創建ApiInfo類。
Controller注解
控制層可以有兩種方式展現根據大家喜好來。
方式一
方式二
兩種方式都可以 看大家喜歡那種寫法。
五、成果展現
訪問
啟動項目 訪問地址
地址是 IP + 端口號 +項目跟路徑 + /swagger-ui.html
我的是http://localhost:8080/springfox_springmvc/swagger-ui.html
后綴是固定的 不要改變
https://blog.csdn.net/wyb880501/article/details/79576784
https://blog.csdn.net/qq_39082353/article/details/109453310?utm_term=swagger%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%AF%A6%E8%A7%A3&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-0-109453310&spm=3001.4430
https://blog.csdn.net/z591593455/article/details/107091560?utm_term=swagger%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%AF%A6%E8%A7%A3&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-2-107091560&spm=3001.4430