计算机系统应用教程网站

网站首页 > 技术文章 正文

SpringBoot2.x集成Swagger3的方法

btikc 2024-09-14 00:45:04 技术文章 14 ℃ 0 评论

背景

最近新建了一个SpringBoot工程,里边有一些后台管理的操作,但是不多,故不想为此编写后台管理页面,只想简单地通过发起HTTP请求,完成后台的操作。

考虑到Swagger是一个优秀的HTTP接口管理平台,接入Swagger的后,可以方便HTTP请求操作。

案例

本次由于使用高版本的SpringBoot2.x,2.6.6版本,也故使用较高版本的Swagger3。

1.加入Swagger依赖

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>

2.配置Swagger

注意开启Swagger3的注解为@EnableOpenApi,而不是Swagger2的@EnableSwagger2。

package com.example.springbootswagger3.config;

import org.springframework.context.annotation.Configuration;
import springfox.documentation.oas.annotations.EnableOpenApi;

/**
 * Swagger配置
 *
 * @author hongcunlin
 */
@Configuration
@EnableOpenApi
public class SwaggerConfig {
}

3.配置路径策略

SpringBoot2.6.x的默认路径,已经改为path_pattern_parser。

spring.mvc.pathmatch.matching-strategy=path_pattern_parser

我们接入Swagger3的化,需要将匹配策略,改为原先的ant_path_matcher。

spring.mvc.pathmatch.matching-strategy=ant_path_matcher

否则,启动SpringBoot工程时,将报Swagger3的documentationPluginsBootstrapper空指针异常。

path_pattern_parser,虽然保持了很好的向下兼容性,但不支持将 ** 写在path中间,

其它的匹配规则从行为上均保持和ant_path_matcher一致,并且还新增了强大的 {*pathVariable} 的支持。

这里只能期望后来版本的Swagger也支持path_pattern_parser,否则新版的SpringBoot接入Swagger3,都得加这个配置。

效果

我们登录Swagger3的默认地址

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

即可看到相关Controller提供的HTTP接口了,可以在次页面,轻松发起HTTP请求。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表