Java使用Swagger接口框架方法詳解
一,Swagger功能是什么呢
簡單說就是生產(chǎn)API接口文檔,同時提供在線調(diào)試項目API的接口的功能,可以說對推進(jìn)項目進(jìn)度非常有利,尤其對前后臺分離的情況更加有用;
二,如何在Java項目中使用Swagger功能
(歡迎使用推薦的方式)
1,過去的Swagger使用方式
——不推薦使用
(1)引入依賴 jar 包,如下:
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>
(2)配置Swagger2Config.java
package com.qyh.pro01.config; import java.io.Serializable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * Swagger配置類 */ @Configuration @EnableSwagger2 public class Swagger2Config implements Serializable { private static final long serialVersionUID = 202002161810010L; @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.xxx.yyy.controller")) .apis(Swagger2Config.basePackage("com.xxx.yyy.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Swagger2-api文檔") .description("Swagger2接口教程") .termsOfServiceUrl("http://www.baidu.com") .version("1.0.0") .contact(new Contact("shenzhenNBA", "http://www.xxx.com", "qyhzqw@163.com")) .build(); } }
還有些可能需要springMVC配置文件排除放行Swagger相關(guān)的html,css,JS和圖片(jpg,png,gif等),然后在項目使用,例如:http://localhost:8080/swagger-ui.html(另一種調(diào)試方式是http://localhost:8080/doc.html)
2,Springdoc方式使用Swagger功能
——推薦使用
過去的方式也許還是有點繁瑣,是時候換Springdoc方式使用Swagger功能了,當(dāng)然這個也是基于Swagger2.x實現(xiàn),它完美支持SpringBoot 1.x/2.x,Swagger-ui也比較好看,其它次要的暫時忽略;然后在項目中增加依賴 jar 包,
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.2.30</version> <!-- 版本可自行選擇最新版本--> </dependency
在下載這些 JAR包時,如果是從國外官方的可能耗時間比較久,可以修改maven倉庫的配置文件,修改如下:
<!-- 阿里的公開maven庫,在 mirrors標(biāo)簽的內(nèi)部追(增)加如下內(nèi)容 --> <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
從國內(nèi)的ali的鏡像倉庫中下載,速度要快蠻多;記住,然后什么都不用做了,啟動項目,直接可根據(jù)項目訪問Swagger功能了,訪問URL格式:http://ip:port/swagger-ui.html ,
例如我的:http://127.0.0.1/swagger-ui.html 很直觀看到API接口,同時通過 “try it out” 可直接在線調(diào)試了,非常方便快速... 看看一下部分截圖:
三,后記
basic-error-controller 這些API是自動生成的,可以不理,僅關(guān)注自己開發(fā)的API接口即可,總之,使用springdoc這種方式使用swagger功能,非常方便,簡單,快速,可以快速查看項目各個API文檔,同時非常方便在線調(diào)試,尤其是對前后端分離的項目更加有利推進(jìn)項目進(jìn)度,可能有些考慮不周
到此這篇關(guān)于Java使用Swagger接口框架方法詳解的文章就介紹到這了,更多相關(guān)Java使用Swagger內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java圖書管理系統(tǒng),課程設(shè)計必用(源碼+文檔)
本系統(tǒng)采用Java,MySQL 作為系統(tǒng)數(shù)據(jù)庫,重點開發(fā)并實現(xiàn)了系統(tǒng)各個核心功能模塊,包括采編模塊、典藏模塊、基礎(chǔ)信息模塊、流通模塊、期刊模塊、查詢模塊、評論模塊、系統(tǒng)統(tǒng)計模塊以及幫助功能模塊2021-06-06Spring?boot?CommandLineRunner啟動任務(wù)傳參實例詳解
在使用SpringBoot構(gòu)建項目時,我們通常有一些預(yù)先數(shù)據(jù)的加載,下面這篇文章主要給大家介紹了關(guān)于Spring?boot?CommandLineRunner啟動任務(wù)傳參的相關(guān)資料,需要的朋友可以參考下2022-06-06Java使用字節(jié)流實現(xiàn)圖片音頻的復(fù)制
今天帶大家學(xué)習(xí)Java的相關(guān)知識,文章圍繞著Java如何使用字節(jié)流實現(xiàn)圖片音頻的復(fù)制展開,文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06詳解Java中l(wèi)ist,set,map的遍歷與增強(qiáng)for循環(huán)
這篇文章主要介紹了詳解Java中l(wèi)ist,set,map的遍歷與增強(qiáng)for循環(huán)的相關(guān)資料,需要的朋友可以參考下2017-02-02