我最近从 Springfox 转换为 Springdoc-openapi,以便为 Spring Boot Rest API 服务生成 OpenAPI。
一切都很完美,直到我添加了安全方案。一旦我这样做了,我的方案就不再出现,并且 SwaggerUI 页面上出现错误:
Could not resolve reference: Could not resolve pointer: /components/schemas/Ping does not exist in document
Run Code Online (Sandbox Code Playgroud)
我正在以编程方式设置我的配置,并且有 2 个组。
我正在使用 Spring Boot v2.4.0 和 springdoc-openapi-ui v1.5.1
我的 pom.xml 的片段:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-hateoas</artifactId>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-security</artifactId>
<version>1.5.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
配置片段:
@Bean
public GroupedOpenApi apiV1() {
String[] paths = {"/v1/**"};
String[] packagesToScan = {"com.test.controller"};
return GroupedOpenApi.builder()
.group("v1")
.packagesToScan(packagesToScan)
.pathsToMatch(paths)
.addOpenApiCustomiser(buildV1OpenAPI())
.build();
}
@Bean
public GroupedOpenApi …Run Code Online (Sandbox Code Playgroud)