背景
最近新建了一个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请求。
本文暂时没有评论,来添加一个吧(●'◡'●)