springboot項(xiàng)目中使用Swagger的簡(jiǎn)單示例
1、Swagger是啥
Swagger 是一個(gè)用于生成、描述和調(diào)用 RESTful 接口的 Web 服務(wù)。通俗的來講,Swagger 就是將項(xiàng)目中所有(想要暴露的)接口展現(xiàn)在頁面上,并且可以進(jìn)行接口調(diào)用和測(cè)試的服務(wù)。 Swagger 官網(wǎng)地址:https://swagger.io/
2、Swagger有什么用?
Swagger 有以下 3 個(gè)重要的作用:將項(xiàng)目中所有的接口展現(xiàn)在頁面上,這樣后端程序員就不需要專門為前端使用者編寫專門的接口文檔;當(dāng)接口更新之后,只需要修改代碼中的 Swagger 描述就可以實(shí)時(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)建一個(gè)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)建一個(gè)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保存的名字是哪個(gè)就可以寫成那個(gè)
.modelRef(new ModelRef("string")).parameterType("header")
.required(false).build(); //header中的ticket參數(shù)非必填,傳空也可以
pars.add(ticketPar.build()); //根據(jù)每個(gè)方法名也知道當(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Java 8 Lambda表達(dá)式將實(shí)體映射到DTO的操作
這篇文章主要介紹了使用Java 8 Lambda表達(dá)式將實(shí)體映射到DTO的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
sms4j?2.0?全新來襲功能的調(diào)整及maven變化詳解
這篇文章主要介紹了sms4j?2.0?全新來襲功能的調(diào)整及maven變化詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Java詳解HashMap實(shí)現(xiàn)原理和源碼分析
這篇文章主要介紹了Java關(guān)于HashMap的實(shí)現(xiàn)原理并進(jìn)行源碼分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
SpringBoot使用@Async注解可能會(huì)遇到的8大坑點(diǎn)匯總
SpringBoot中,@Async注解可以實(shí)現(xiàn)異步線程調(diào)用,用法簡(jiǎn)單,體驗(yàn)舒適,但是你一定碰到過異步調(diào)用不生效的情況,今天,我就列出90%的人都可能會(huì)遇到的8大坑點(diǎn),需要的朋友可以參考下2023-09-09
SpringMvc接受請(qǐng)求參數(shù)的幾種情況演示
Springmvc接受請(qǐng)求參數(shù)的幾種介紹,如何接受json請(qǐng)求參數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-07-07
SpringBoot+shardingsphere實(shí)現(xiàn)按月分表功能教程
這篇文章主要介紹了SpringBoot+shardingsphere實(shí)現(xiàn)按月分表功能教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
Springboot通過url訪問本地圖片代碼實(shí)例
這篇文章主要介紹了springboot通過url訪問本地圖片代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
SpringBoot統(tǒng)一數(shù)據(jù)返回格式的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot統(tǒng)一數(shù)據(jù)返回格式,它提高了代碼的可維護(hù)性和一致性,并改善了客戶端與服務(wù)端之間的通信,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05

