Springboot3.X 集成 Swagger knife4j

Springboot3.X 集成 Swagger

第一步:创建一个springboot3.X的项目(直接省略,不会的看这里快速搭建SpringBoot3.x项目 - xiezhr - 博客园 (cnblogs.com)

第二步:引入Swagger依赖

        <!--Swagger-->
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
            <version>2.2.0</version>
        </dependency>

第三步:添加配置文件

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

注意事项:我在后面测试的时候好像发现这个配置步骤可有可无。

第四步:新增一个配置类:OpenAPIConfig

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
@Slf4j
public class OpenAPIConfig {
    @Bean
    public OpenAPI openAPI() {
        log.info("Swagger 接口文档开始生成");
        return new OpenAPI()
                .info(new Info()
                        .title("接口文档标题")
                        .description("接口文档的描述信息")
                        .version("版本信息:v1.0"))
                .externalDocs(new ExternalDocumentation()
                        .description("描述")
                        .url("/"));
    }
}

第五步:随便写一个Controller

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Tag(name = "测试Controller", description = "这是描述")
public class IndexController {

    @GetMapping("/hello")
    @Operation(summary = "测试接口")
    public String index(@Parameter(name = "name", description = "名称") String name) {
        return "hello " + name;
    }
}

第六步:启动项目,点击链接Swagger UI查看Swagger描述

注意:一般都是http://localhost:8080/swagger-ui/index.html#/这个链接,如果打不开,大概率是你的端口问题,替换8080修改成你自己的端口号,或者项目路径有统一的前缀等等…

在这里插入图片描述

看到这个界面,就代表成功了。

Springboot3.X 集成 knife4j

前提要求:具体看官方文档快速开始 | Knife4j (xiaominfo.com)

  • Spring Boot 3 只支持OpenAPI3规范
  • Knife4j提供的starter已经引用springdoc-openapi的jar,开发者需注意避免jar包冲突
  • JDK版本必须 >= 17

第一步:引入knife4j依赖,如果之前引入了Swagger依赖,最好注释掉,maven 最好 clear 一下

		<!--knif4j-->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
            <version>4.4.0</version>
        </dependency>

第二步:新增一个配置类:OpenAPIConfig

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
@Slf4j
public class OpenAPIConfig {
    @Bean
    public OpenAPI openAPI() {
        log.info("Swagger 接口文档开始生成");
        return new OpenAPI()
                .info(new Info()
                        .title("接口文档标题")
                        .description("接口文档的描述信息")
                        .version("版本信息:v1.0"))
                .externalDocs(new ExternalDocumentation()
                        .description("描述")
                        .url("/"));
    }
}

第三步:启动项目,点击链接knife4j页面

在这里插入图片描述

看到这个界面,就代表成功了。

相关推荐

  1. Springboot3 集成knife4j(swagger)

    2024-06-07 17:28:04       40 阅读
  2. SpringBoot集成knife4j

    2024-06-07 17:28:04       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 17:28:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 17:28:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 17:28:04       82 阅读
  4. Python语言-面向对象

    2024-06-07 17:28:04       91 阅读

热门阅读

  1. vue3+element-plus 表单校验和循环form表单校验

    2024-06-07 17:28:04       25 阅读
  2. ABC318-D

    2024-06-07 17:28:04       26 阅读
  3. 算法 | 刷题日记

    2024-06-07 17:28:04       24 阅读
  4. ERC-7401:嵌套 NFT 标准的全新篇章

    2024-06-07 17:28:04       28 阅读
  5. 浅谈云原生安全

    2024-06-07 17:28:04       31 阅读
  6. Android音乐播放器的思路处理

    2024-06-07 17:28:04       28 阅读
  7. Mysql sql语句字段截取前几位,后几位等

    2024-06-07 17:28:04       28 阅读
  8. PVc是k8s的什么?

    2024-06-07 17:28:04       27 阅读