欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot3.x整合swagger的實現(xiàn)示例

 更新時間:2025年08月05日 10:18:39   作者:比晚風(fēng)溫柔  
本文主要介紹了SpringBoot3.x整合swagger的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

零、提示

由于SpringBoot以及swagger的版本更新迭代得都比較快,因此當你采用最新版SpringBoot時,最好也使用最新版的swagger依賴。依賴在下面的網(wǎng)址進行查找,輸入對應(yīng)的artifactId就可以找到了

https://mvnrepository.com/

一、簡介

官網(wǎng):https://swagger.io/

對于SpringBoot而言,Swagger的作用是通過后端SpringBoot代碼快速生成接口文檔,方便測試接口以及前端使用。

二、基本使用

由于springfox不適用于SpringBoot3.x,故使用Springdoc進行代替。

1. 引入依賴

		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
			<version>2.6.0</version>
		</dependency>

2. 其它相關(guān)依賴

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>


		<!-- 讓響應(yīng)結(jié)果更美觀 -->
		<dependency>
			<groupId>com.alibaba.cola</groupId>
			<artifactId>cola-component-dto</artifactId>
			<version>4.3.2</version>
		</dependency>

2. 編寫配置文件

添加 swagger 的配置文件 SwaggerConfig.java

@Configuration
public class SwaggerConfig {

}

此時Swagger已經(jīng)簡單整合成功,運行SpringBoot服務(wù),瀏覽器打開網(wǎng)址進行測試

http://localhost:8080/swagger-ui/index.html

我使用的是8081端口,因此我使用下面的鏈接打開

http://localhost:8081/swagger-ui/index.html

3. 配置Swagger文檔基本信息

@Configuration
public class SwaggerConfig {
    /*
    配置swagger基本信息
     */
    @Bean
    public OpenAPI swaggerOpenApi() {
        return new OpenAPI()
                .info(new Info().title("Swagger學(xué)習(xí)-比晚風(fēng)溫柔")
                        .description("Swagger簡單入門")
                        .version("v1.0"))
                .externalDocs(new ExternalDocumentation()
                        .description("我的博客")
                        .url("https://blog.csdn.net/2202_76007821?spm=1000.2115.3001.5343"));
    }
}

此時重新運行服務(wù),打開網(wǎng)址

http://localhost:8081/swagger-ui/index.html

4. 控制 Swagger 的開啟

在開發(fā)或者測試環(huán)境下,我們開啟 swagger 會方便前端和后端的交互,但是如果在生產(chǎn)環(huán)境下也開啟 swagger 的話,是會將接口暴露出去的,有極大風(fēng)險,如何讓 swagger 根據(jù)不同的環(huán)境來決定是否開啟?

這里我準備了四個項目的配置文件,dev、prod 兩個環(huán)境的配置文件僅是端口上的不同

 

application.yml -------------------------- 全局配置文件
application-dev.yml -------------------- 開發(fā)環(huán)境配置文件
application-prod.yml -------------------- 生產(chǎn)環(huán)境配置文件

 application-dev.yml配置

springdoc:
  api-docs:
    enabled: true # 開啟OpenApi接口
  swagger-ui:
    enabled: true # 開啟swagger界面,依賴OpenApi,需要OpenApi同時開啟

 application-prod.yml配置

springdoc:
  api-docs:
    enabled: false # 關(guān)閉OpenApi接口
  swagger-ui:
    enabled: false # 關(guān)閉swagger界面

application.yml 內(nèi)容如下,用于指定選擇的環(huán)境:

spring:
  profiles:
    active: dev

在 application.yml 全局配置文件中環(huán)境指向 dev 時,是可以打開 swagger 的

如果我將 application.yml 全局配置文件中環(huán)境指向 prod 時,就不能打開 swagger 了 

5. 完善Swagger文檔

5.1 實體類添加Swagger注解

@Component
@Schema(title = "水果類")
public class Fruit {
    @Schema(title = "水果名稱",example = "塔菲新式番茄",minLength = 1,maxLength = 100)
    private String name;
    @Schema(title = "水果數(shù)量",example = "520")
    private Integer num ;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }
}

@Schema: Swagger文檔的注解,用于說明類/字段

  • title: 類/字段說明
  • example: 示例,Swagger中會將這個字段作為示例
  • minLength/maxLength: 最小/最大長度,字段為String類型時生效(僅用于文檔說明,不會拋出異常)

5.2 控制器注解解析

@RestController
@RequestMapping("/fruit")
@Tag(name = "水果控制器",description = "這是水果測試接口")
public class FruitController {
    @PostMapping("/add")
    @Operation(summary = "新增水果",description = "這是新增水果的方法")
    public String add(Fruit fruit) {
        return "新增成功";
    }
}
  • @Tag: 控制器說明
    • name: 名稱
    • description: 描述說明
  • @Operation: 請求說明
    • summary: 說明,Swagger頁面在方法后面,不會被折疊
    • descirption: 描述,會被折疊到方法說明中

  配置之后,讓我們打開網(wǎng)址查看一下

6. 接口調(diào)用

點擊進行測試

測試成功 

三、使用postman進行接口測試

1. 導(dǎo)入鏈接

回到文檔頭部,點擊api-docs

復(fù)制鏈接

打開postman,點擊import

 選擇第二個進行導(dǎo)入

baseurl問題使用環(huán)境進行統(tǒng)一修改即可,點擊創(chuàng)建新環(huán)境

手動修改參數(shù)

點擊進行測試

四、代碼

代碼已經(jīng)上傳到gitee,打開網(wǎng)址,點擊下載zip即可

https://gitee.com/guirongyuan/swagger-leaning

到此這篇關(guān)于SpringBoot3.x整合swagger的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)SpringBoot3.x整合swagger內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

最新評論