最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot3集成swagger文檔的使用方法

 更新時間:2025年01月07日 09:49:42   作者:java_學(xué)習(xí)愛好者  
本文介紹了Swagger的誕生背景、主要功能以及如何在Spring Boot 3中集成Swagger文檔,Swagger可以幫助自動生成API文檔,實現(xiàn)與代碼同步,并提供交互式測試功能,使用方法包括導(dǎo)入依賴、配置文檔、使用常見注解以及訪問生成的Swagger UI和文檔,感興趣的朋友跟隨小編一起看看吧

一、前言

為了方便后端人員進(jìn)行進(jìn)行接口測試,swagger就此誕生

1. API 文檔自動生成

  • 減少文檔編寫工作:通過在代碼中使用注解,Swagger 可以自動生成詳細(xì)的 API 文檔,減少了手動編寫文檔的工作量。
  • 保持文檔與代碼同步:由于文檔是直接從代碼生成的,因此可以確保文檔總是與實際的 API 實現(xiàn)保持一致。

2. 交互式 API 測試

實時測試 API:Swagger UI 提供了一個基于瀏覽器的界面,允許開發(fā)者直接從瀏覽器調(diào)用 API 并查看響應(yīng)結(jié)果,這有助于快速測試 API 功能。

參數(shù)輸入與驗證:用戶可以直接在界面上輸入?yún)?shù)并發(fā)送請求,Swagger 會自動處理參數(shù)格式和驗證。

3. API 設(shè)計和開發(fā)協(xié)作

  • 統(tǒng)一的 API 規(guī)范:Swagger 使用 OpenAPI 規(guī)范(以前稱為 Swagger 規(guī)范),這是一種標(biāo)準(zhǔn)的 API 描述格式,使得團隊成員可以更容易理解和遵循 API 設(shè)計。
  • 前后端分離開發(fā):前端和后端開發(fā)者可以通過 Swagger 文檔進(jìn)行溝通,即使在后端 API 還未完成時,前端也可以開始基于文檔進(jìn)行開發(fā)。

二、使用方法

1.導(dǎo)入依賴

        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.15.2</version> 
        </dependency>

2.文檔配置

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class OpenApiConfig {
    @Bean
    public OpenAPI springShopOpenAPI() {
        return new OpenAPI()
                // 接口文檔標(biāo)題
                .info(new Info().title("在線考試系統(tǒng)API接口文檔")
                        // 接口文檔簡介
                        .description("這是基于Knife4j OpenApi3的在線考試系統(tǒng)接口文檔")
                        // 接口文檔版本
                        .version("v1.0")
                        // 開發(fā)者聯(lián)系方式
                        .contact(new Contact().name("黃宏保").email("3111871135@qq.com")))
                .externalDocs(new ExternalDocumentation()
                        .description("在線考試系統(tǒng)接口文檔")//swagger-ui文檔地址
                        .url("http://127.0.0.1:8088"));
    }
    @Bean
    public GroupedOpenApi adminApi() {
        return GroupedOpenApi.builder().group("管理員管理模塊")
                .pathsToMatch("/user/**","/admin/**")
                .build();
    }
    @Bean
    public GroupedOpenApi teacherApi() {
        return GroupedOpenApi.builder().group("教師管理模塊")
                .pathsToMatch("/user/**", "/teacher/**")
                .build();
    }
    @Bean
    public GroupedOpenApi studentApi() {
        return GroupedOpenApi.builder().group("學(xué)生管理模塊")
                .pathsToMatch("/user/**", "/student/**")
                .build();
    }
}

 application.yaml配置

springdoc:
  swagger-ui:
    path: /swagger-ui.html # 自定義Swagger前端請求路徑
    tags-sorter: alpha
    operations-sorter: alpha
  api-docs:
    path: /v3/api-docs # Swagger后端請求地址
    enabled: true # 是否開啟文檔功能
# knife4j相關(guān)配置
knife4j:
  enable: true # 開啟knife4j,無需添加@EnableKnife4j注解
  setting:
    language: zh_cn # 中文

3.常見注解

@Tag(name = "用戶管理")//用于在控制器類上標(biāo)注,指示該控制器的相關(guān)信息
@Operation(summary = "登錄")//用于在控制器方法上標(biāo)注,指示該方法的作用、描述等
@Schema(description = "用戶信息")//在DTO類上標(biāo)注,用于描述一個實體類
@Schema(description = "用戶信息")//用于描述實體類的屬性(自己定義的接收變量),即類的字段
@Parameter(description = "郵箱") //定義在控制層方法的參數(shù)上

4.效果展示

5.訪問路徑

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

swagger文檔路徑:http://127.0.0.1:8080/doc.html#/home

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

相關(guān)文章

  • SpringBoot三種打包方法舉例詳解

    SpringBoot三種打包方法舉例詳解

    這篇文章主要給大家介紹了關(guān)于SpringBoot三種打包方法的相關(guān)資料,Spring Boot是一個開發(fā)框架,目的是簡化Spring應(yīng)用的初始搭建過程和開發(fā)過程,文中提供了3種打包方法,需要的朋友可以參考下
    2023-12-12
  • Java面試最容易被刷的重難點之鎖的使用策略

    Java面試最容易被刷的重難點之鎖的使用策略

    鎖像synchronized同步塊一樣,是一種線程同步機制,但比Java中的synchronized同步塊更復(fù)雜。因為鎖(以及其它更高級的線程同步機制)是由synchronized同步塊的方式實現(xiàn)的,所以我們還不能完全擺脫synchronized關(guān)鍵字
    2021-10-10
  • 詳解如何在SpringBoot里使用SwaggerUI

    詳解如何在SpringBoot里使用SwaggerUI

    本篇文章主要介紹了詳解如何在SpringBoot里使用SwaggerUI,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • SpringBoot在IDEA中實現(xiàn)熱部署的步驟

    SpringBoot在IDEA中實現(xiàn)熱部署的步驟

    這篇文章主要介紹了SpringBoot在IDEA中實現(xiàn)熱部署的步驟,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-11-11
  • Java制作驗證碼的完整實例代碼

    Java制作驗證碼的完整實例代碼

    這篇文章主要給大家介紹了關(guān)于Java制作驗證碼的完整實例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • MyBatis中#{}和${}的區(qū)別詳解

    MyBatis中#{}和${}的區(qū)別詳解

    mybatis和ibatis總體來講都差不多的。下面小編給大家探討下mybatis中#{}和${}的區(qū)別,感興趣的朋友一起學(xué)習(xí)吧
    2016-08-08
  • Spring?Boot中KafkaListener的介紹、原理和使用方法案例詳解

    Spring?Boot中KafkaListener的介紹、原理和使用方法案例詳解

    本文介紹了Spring Boot中 @KafkaListener 注解的介紹、原理和使用方法,通過本文的介紹,我們希望讀者能夠更好地理解Spring Boot中 @KafkaListener 注解的使用方法,并在項目中更加靈活地應(yīng)用
    2023-09-09
  • ResultSet如何動態(tài)獲取列名和值

    ResultSet如何動態(tài)獲取列名和值

    這篇文章主要介紹了ResultSet如何動態(tài)獲取列名和值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java由淺入深細(xì)數(shù)數(shù)組的操作上

    Java由淺入深細(xì)數(shù)數(shù)組的操作上

    數(shù)組對于每一門編程語言來說都是重要的數(shù)據(jù)結(jié)構(gòu)之一,當(dāng)然不同語言對數(shù)組的實現(xiàn)及處理也不盡相同。Java?語言中提供的數(shù)組是用來存儲固定大小的同類型元素
    2022-04-04
  • SpringBoot中使用@Async實現(xiàn)異步調(diào)用?方法示例

    SpringBoot中使用@Async實現(xiàn)異步調(diào)用?方法示例

    在Spring Boot中異步調(diào)用是通過Spring的@Async注解來實現(xiàn)的,它允許我們在不阻塞主線程的情況下執(zhí)行耗時的操作,這篇文章主要介紹了SpringBoot中使用@Async實現(xiàn)異步調(diào)用?方法的相關(guān)資料,需要的朋友可以參考下
    2025-12-12

最新評論

高邑县| 凌源市| 静宁县| 东莞市| 云南省| 仙桃市| 赤城县| 内江市| 永嘉县| 兴海县| 阜城县| 噶尔县| 东乡族自治县| 辉县市| 班玛县| 遂川县| 马公市| 嘉荫县| 平顶山市| 美姑县| 阳江市| 潍坊市| 沾化县| 延寿县| 荥经县| 西平县| 文化| 新民市| 什邡市| 佛山市| 湖州市| 中江县| 北辰区| 宝清县| 云浮市| 石渠县| 尖扎县| 安岳县| 北碚区| 扶风县| 重庆市|