springboot集成 swagger3 springdoc

参考资料: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>

猜你喜欢

转载自blog.csdn.net/flyconley/article/details/120436292