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

SpringBoot3使用Swagger3的示例詳解

 更新時間:2024年11月26日 14:30:28   作者:夜瀾聽雨聲  
本文介紹了如何在Spring Boot 3項目中使用Swagger3進行后端接口的前端展示,首先,通過添加依賴并配置application.yml文件來快速啟動Swagger,然后,詳細介紹了Swagger3的新注解與Swagger2的區(qū)別,并提供了一些常用注解的使用示例,感興趣的朋友跟隨小編一起看看吧

項目中的后端接口進行簡單的前端展示

Swagger是一個用于設計、構建、文檔化和使用RESTful Web服務的開源工具。Swagger3是Swagger的最新版本,它提供了許多新功能和改進。

Swagger在SpringBoot3中的引入方法發(fā)生了改變,網(wǎng)上大部分還是SpringBoot2的版本

springboot版本3.2.4

一、依賴引入

用maven構建一個SpringBoot3的項目,在依賴中引入,在pom.xml中添加

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

版本也可以使用新版,Springdoc-OpenAPI網(wǎng)站鏈接

二、快速啟動

1.在application.yml中配置

# swagger-ui custom path
springdoc:
  swagger-ui:
    path : /swagger-ui.html

2.或者properties文件,則配置

代碼如下(示例):

# swagger-ui custom path
springdoc.swagger-ui.path=/swagger-ui.html

3.啟動項目訪問swagger

訪問http://localhost:9090/swagger-ui/index.html#/
其中的9090 改成你項目后端使用的端口,注意不能省略后面的index.html

三、使用注解標注接口

Swagger配置文件

package com.sumo.ipd.config;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class Swagger3Config {
    @Bean
    public OpenAPI springOpenAPI() {
        // 訪問路徑:http://localhost:9090/swagger-ui/index.html
        return new OpenAPI().info(new Info()
                .title("SpringDoc API")
                .description("SpringDoc Simple Application")
                .version("0.0.1"));
    }
}

Swagger 注解遷移

Swagger2 和 Swagger3 使用的是完全不同的兩套注解,所以原本使用 Swagger2 相關注解的代碼頁需要完全遷移,改為使用 Swagger3 的注解。

Swagger2Swagger3
@Api@Tag
@ApiOperation@Operation
@ApiImplicitParams@Parameters
@ApiImplicitParam@Parameter
@ApiModel@Schema
@ApiModelProperty@Schema
@ApiResponses@ApiResponses
@ApiResponse@ApiResponse
@ApiIgnore@Hidden 或者 其他注解的 hidden = true 屬性

舉例五種常用

@Api

Swagger2 代碼

@Api(value = "用戶接口", tags = "UserController")

Swagger3 代碼

@Tag(name = "UserController", description = "用戶接口")

@ApiOperation

Swagger2 代碼

@ApiOperation(value = "查詢用戶數(shù)據(jù)")

Swagger3 代碼

@Operation(description = "查詢用戶數(shù)據(jù)")

@ApiImplicitParam

Swagger2 代碼

@ApiImplicitParams({
     @ApiImplicitParam(name = "currentPage", value = "當前頁碼", dataTypeClass = Integer.class, required = true),
     @ApiImplicitParam(name = "size", value = "當前頁大小", defaultValue = "10", dataTypeClass = Integer.class),
     @ApiImplicitParam(name = "queryUser", value = "用戶查詢條件", dataTypeClass = User.class)
})

Swagger3 代碼

@Parameters({
    @Parameter(name = "currentPage", description = "當前頁碼", required = true),
    @Parameter(name = "size", description = "當前頁大小", example = "10"),
    @Parameter(name = "queryUser", description = "用戶查詢條件")
})

@ApiModel

Swagger2 代碼

@ApiModel(value = "用戶信息實體類")

Swagger3 代碼

@Schema(name = "用戶信息實體類")

@ApiModelProperty

Swagger2 代碼

@ApiModelProperty(value = "用戶名稱")

Swagger3 代碼

@Schema(name = "用戶名稱")

使用示例

package com.sumo.ipd.controller;
import com.sumo.ipd.annotation.BusLog;
import com.sumo.ipd.entity.Department;
import com.sumo.ipd.entity.User;
import com.sumo.ipd.enums.Sex;
import com.sumo.ipd.enums.UserStatus;
import com.sumo.ipd.service.DepartmentService;
import com.sumo.ipd.service.UserService;
import com.sumo.ipd.utils.ExcelUtil;
import com.sumo.ipd.utils.PwdUtil;
import com.sumo.ipd.vo.LoginToken;
import com.sumo.ipd.vo.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpSession;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.*;
@RestController
@RequestMapping("user")
@CrossOrigin
@Tag(name = "UserController", description = "用戶接口")
public class UserController {
    @Resource
    UserService userService;
    @Resource
    DepartmentService departmentService;
    /**
     * 用戶注冊
     *
     * @param registerUser
     * @return
     */
    @Operation(description = "用戶注冊")
    @PostMapping("register")
    public R register(@RequestBody User registerUser) {
        if (userService
                .query()
                .eq(User.COL_CERTIFICATENO, registerUser.getCertificateNo())
                .count() > 0) {
            return R.builder().code(0).message("用戶已存在!").build();
        } else {
            userService.save(registerUser);
            return R.builder().code(200).message("注冊成功!請等待組織管理員審核...").build();
        }
    }
}

到此這篇關于SpringBoot3使用Swagger3的文章就介紹到這了,更多相關SpringBoot3使用Swagger3內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • maven學習-初窺門徑

    maven學習-初窺門徑

    這篇文章主要介紹了maven的簡單知識,介紹了maven的定義及核心功能,具有一定參考價值,大家可以了解下。
    2017-10-10
  • Caffeine本地緩存示例詳解

    Caffeine本地緩存示例詳解

    Caffeine是一種高性能的緩存庫,是基于Java 8的最佳(最優(yōu))緩存框架,這篇文章主要介紹了Caffeine本地緩存相關知識,需要的朋友可以參考下
    2023-07-07
  • 流式圖表拒絕增刪改查之框架搭建過程

    流式圖表拒絕增刪改查之框架搭建過程

    這篇文章主要為大家介紹了流式圖表拒絕增刪改查之框架搭建過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • JAVA的Dubbo如何實現(xiàn)各種限流算法

    JAVA的Dubbo如何實現(xiàn)各種限流算法

    Dubbo是一種高性能的Java RPC框架,廣泛應用于分布式服務架構中,在Dubbo中實現(xiàn)限流可以幫助服務在高并發(fā)場景下保持穩(wěn)定性和可靠性,常見的限流算法包括固定窗口算法、滑動窗口算法、令牌桶算法和漏桶算法,在Dubbo中集成限流器可以通過實現(xiàn)自定義過濾器來實現(xiàn)
    2025-01-01
  • SpringMVC?@RequestMapping注解屬性詳細介紹

    SpringMVC?@RequestMapping注解屬性詳細介紹

    通過@RequestMapping注解可以定義不同的處理器映射規(guī)則,下面這篇文章主要給大家介紹了關于SpringMVC中@RequestMapping注解用法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • Mybatis-plus分頁查詢不生效問題排查全過程

    Mybatis-plus分頁查詢不生效問題排查全過程

    最近寫分頁的時候,遇到了分頁無法正常發(fā)揮作用的問題,下面這篇文章主要給大家介紹了關于Mybatis-plus分頁查詢不生效問題排查的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • 基于SpringAI+Qdrant+Ollama本地模型和向量數(shù)據(jù)庫開發(fā)問答和RAG檢索(完整代碼)

    基于SpringAI+Qdrant+Ollama本地模型和向量數(shù)據(jù)庫開發(fā)問答和RAG檢索(完整代碼)

    文章介紹了使用Ollama和Qdrant構建AI對話系統(tǒng)的步驟,包括安裝模型、啟動向量數(shù)據(jù)庫、環(huán)境配置等,并提供了完整的代碼實現(xiàn),支持基本對話、文件檢索等功能,本文通過實例代碼給大家講解的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • 詳解springcloud組件consul服務治理

    詳解springcloud組件consul服務治理

    Consul是一款由HashiCorp公司開源的,用于服務治理的軟件,Spring Cloud Consul對其進行了封裝,這篇文章主要介紹了springcloud組件consul服務治理,需要的朋友可以參考下
    2022-08-08
  • Java枚舉通過Code獲取相應的Value值實現(xiàn)方式

    Java枚舉通過Code獲取相應的Value值實現(xiàn)方式

    本文介紹了枚舉定義、如何通過code獲取value的方法,并提供了一個完整的代碼示例,通過實際測試,證明了該方法的有效性,希望本文能夠為讀者提供參考,并鼓勵大家支持腳本之家
    2026-03-03
  • SpringBoot項目部署到阿里云服務器的實現(xiàn)步驟

    SpringBoot項目部署到阿里云服務器的實現(xiàn)步驟

    本文主要介紹了SpringBoot項目部署到阿里云服務器的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06

最新評論

建瓯市| 重庆市| 马公市| 怀远县| 建昌县| 砀山县| 灵石县| 新疆| 新巴尔虎左旗| 彝良县| 丘北县| 方城县| 曲靖市| 原阳县| 靖西县| 潼关县| 城口县| 新野县| 柯坪县| 根河市| 中方县| 中西区| 吉安县| 喀喇| 宜丰县| 西城区| 蓬莱市| 昌都县| 达拉特旗| 宾川县| 新宾| 高密市| 马山县| 本溪市| 微山县| 同仁县| 吉木萨尔县| 永州市| 沂南县| 滨州市| 南阳市|