概述

自己在学习配置Swagger3的时候发现网上的教程讲得都很复杂,所以说自己做一份教程帮助大家解决这个问题。那废话不多说尽量以最精简的语言教会大家最基本的配置(结合项目可能会有很多复杂的情况所以这篇文章仅适合新手入门的小白学习使用)

IDEA版本:2024.2.0.1

Java版本:17

SpringBoot:3.3.2

 

配置信息如下:

pom.xml

区别于使用springfox-swagger2,好像在SpringBoot 2.6.x之后,SpringBoot与Swagger就出现已知的不兼容问题,所以用spingfox那个配置的小伙伴很可能会在启动项目时发生报错。

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

SwaggerConfig.java

package com.example.helloworld.config;

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 io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class SwaggerConfig {
    @Bean
    public OpenAPI springShopOpenAPI() {
        return new OpenAPI()
                .info(new Info().title("Spring Boot 中使用 Swagger UI 构建 RESTful API")
                        .contact(new Contact())
                        .description("Sun提供的 RESTful API")
                        .version("v1.0.0")
                        .license(new License().name("Apache 2.0").url("http://springdoc.org")))
                .externalDocs(new ExternalDocumentation()
                        .description("外部文档")
                        .url("https://springshop.wiki.github.org/docs"));
    }
}

Controller.java

要确保 Swagger UI 能够显示你的 API 文档,至少需要一个用 @RestController@Controller 注解的控制器类,并在其中定义一些 API 端点。(只是怕有些人没有控制类就去访问Swagger)

 

application.properties

两个路径,一个是显示请求到的Json文件内容的路径,一个是显示UI界面的路径

我的端口号是8080,如果不使用默认的话可以在这里配置自己相应使用的端口号

springdoc.api-docs.path=/v3/api-docs
springdoc.api-docs.enabled=true

springdoc.swagger-ui.path=/swagger-ui.html
springdoc.swagger-ui.enabled=true

Application启动类

这里提一嘴,可以添加一个@OpenAPIDefinition注解,虽然不是必须的,但如果你想自定义 API 文档的元数据(如标题、描述、版本等),可以使用这个注解。

大功告成

参考我的:在浏览器输入http://localhost:8080/....(自己配置的地址)就可以请求到json文件内容和Swagger UI界面了

有可能在做完所有的配置之后还会出现访问失败,把项目缓存清理之后重启项目就好了!

8b67981b06c440029f584e5fbbd9a276.png17384d5b32cb485bb88a3cbb214c40be.png

 

 

Logo

加入社区!打开量化的大门,首批课程上线啦!

更多推荐