springboot項(xiàng)目中使用Swagger的簡單示例
1、Swagger是啥
Swagger 是一個用于生成、描述和調(diào)用 RESTful 接口的 Web 服務(wù)。通俗的來講,Swagger 就是將項(xiàng)目中所有(想要暴露的)接口展現(xiàn)在頁面上,并且可以進(jìn)行接口調(diào)用和測試的服務(wù)。 Swagger 官網(wǎng)地址:https://swagger.io/
2、Swagger有什么用?
Swagger 有以下 3 個重要的作用:將項(xiàng)目中所有的接口展現(xiàn)在頁面上,這樣后端程序員就不需要專門為前端使用者編寫專門的接口文檔;當(dāng)接口更新之后,只需要修改代碼中的 Swagger 描述就可以實(shí)時生成新的接口文檔了,從而規(guī)避了接口文檔老舊不能使用的問題;通過 Swagger 頁面,我們可以直接進(jìn)行接口調(diào)用,方便我們開發(fā)。
3、springboot中如何引入Swagger
1)在如依賴
<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)創(chuàng)建一個controller類
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@PostMapping("/hello")
public String hello(String str){
return "hello,"+str;
}
}3)再創(chuàng)建一個Swagger配置類SwaggerConfig類
@Configuration
@EnableSwagger2//開始Swagger2
public class SwaggerConfig {
//配置了Swagger 的Docket的bean實(shí)例
@Bean
public Docket docket(){
ParameterBuilder ticketPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<>();
ticketPar.name("Authorization").description("token")//Token 以及Authorization 為自定義的參數(shù),session保存的名字是哪個就可以寫成那個
.modelRef(new ModelRef("string")).parameterType("header")
.required(false).build(); //header中的ticket參數(shù)非必填,傳空也可以
pars.add(ticketPar.build()); //根據(jù)每個方法名也知道當(dāng)前方法在設(shè)置什么參數(shù)
return new Docket(DocumentationType.SPRING_WEB)
.apiInfo(apiInfo())
.select()
//RequestHandlerSelectors, 配置要掃描接口的方式
//basePackage:指定要掃描的包
//any():掃描全部
//withClassAnnotation: 掃描類上的注解
//withMethodAnnotation: 掃描方法上的注解
.apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))
.build()
.globalOperationParameters(pars);
}
//配置Swagger 信息=apiInfo
private ApiInfo apiInfo(){
return new ApiInfo(
"Logistics Api",//文檔命名
"test",//文檔描述
"v1.0",//
"http:127.0.0.1/",
null,//contact
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList()
);
}
}注意!
注意!
注意!
把a(bǔ)pis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))中的
“com.example.swagger.controller ”路徑寫成你自己的controller包的路徑
4、項(xiàng)目的總體結(jié)構(gòu)

5、通過網(wǎng)址訪問網(wǎng)頁
在完成以上步驟之后點(diǎn)擊運(yùn)行,等運(yùn)行完后再在瀏覽器中訪問以下網(wǎng)址:
http://127.0.0.1:8080/swagger-ui.html#/
這里的端口要改為自己的端口。
效果如圖所示

總結(jié)
到此這篇關(guān)于springboot項(xiàng)目中使用Swagger的文章就介紹到這了,更多相關(guān)springboot項(xiàng)目使用Swagger內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解JDBC的概念及獲取數(shù)據(jù)庫連接的5種方式
Java?DataBase?Connectivity是將Java與SQL結(jié)合且獨(dú)立于特定的數(shù)據(jù)庫系統(tǒng)的應(yīng)用程序編程接口,一種可用于執(zhí)行SQL語句的JavaAPI。本文主要介紹了JDBC的概念及獲取數(shù)據(jù)庫連接的5種方式,需要的可以參考一下2022-09-09
spring boot 開發(fā)soap webservice的實(shí)現(xiàn)代碼
這篇文章主要介紹了spring boot 開發(fā)soap webservice的實(shí)現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
java對list<Object>進(jìn)行手動分頁實(shí)現(xiàn)
本文主要介紹了java對list<Object>進(jìn)行手動分頁實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Java8中Stream流求最大值最小值的實(shí)現(xiàn)示例
本文主要介紹了Java8中Stream流求最大值最小值的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
IDEA 2020.2 部署JSF項(xiàng)目的詳細(xì)過程
本文通過圖文并茂的形式教大家如何在IDEA中創(chuàng)建一個JSF項(xiàng)目及遇到問題的解決方法,感興趣的朋友跟隨小編一起看看吧2021-09-09
SpringBoot2.X Devtools熱部署實(shí)現(xiàn)解析
這篇文章主要介紹了SpringBoot2.X Devtools熱部署實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
springboot中@component注解的使用實(shí)例
這篇文章主要介紹了springboot中@component注解的使用實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03

