参考资料:springboot集成springdoc-swagger3_daodfs1的博客-CSDN博客
1. application.yaml 文件加入:
springdoc:
swagger-ui.path: /your-project/swagger/v3/swagger-ui.html
api-docs.path: /your-project/swagger/v3/api-docs
2. Application启动文件加入:
@OpenAPIDefinition(
servers ={
@Server(url="/")
}
)
// 以下代码可以不写
@Bean
public OpenApiCustomiser customerGlobalPathParameterOpenApiCustomiser() {
return openApi -> openApi.getPaths().values().stream().flatMap(pathItem -> pathItem.readOperations().stream())
.forEach(operation -> {
StringSchema schema = new StringSchema();
schema.setEnum(Arrays.asList("api","iphone","ipad","android","win","mac"));
operation.addParametersItem(new PathParameter().name("client").required(true).schema(schema));
});
}
@OpenAPIDefinition解决本地swagger3可用,测试环境swagger3不可用问题。因为本地服务用的协议和swagger3协议相同,都是用的http;测试环境swagger用的https而服务用的是http。
@Bean 解决路径中带{client}前端不知道是哪个的问题。如果是用/api来写的不用加@Bean内容。
3.pom.xml 中加入:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.4.0</version>
</dependency>