Spring Boot 集成 Swagger

本文将简单介绍怎样在 Spring Boot 中集成 Swagger。

版本信息

spring boot 2.3.7.RELEASE

swagger 2.8.0

Maven 依赖

在 pom.xml 文件中添加如下 maven 依赖信息:

<!--swagger support-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.8.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.8.0</version>
</dependency>

Swagger 配置

通过实现 WebMvcConfigurer 接口的 addResourceHandlers(ResourceHandlerRegistry registry) 方法,映射 Swagger 资源。配置如下:

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 配置 Swagger
 * @author Administrator 2021/4/23 22:23
 * @version 1.0
 */
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    /**
     * 发现如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。
     * 需要重新指定静态资源
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 映射 webjars 资源
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

}

启用 Swagger

在 Spring Boot 的启动类上面通过 @EnableSwagger2 注解启用 Swagger。代码如下:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@SpringBootApplication
public class SpringbootSwaggerDemo1Application {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootSwaggerDemo1Application.class, args);
    }

}

运行 Spring Boot 应用,使用浏览器访问 http://localhost:8080/swagger-ui.html ,效果如下图:

Spring Boot 集成 Swagger

学习,学习,再学习!学,然后知不足。 —— 列宁
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号