我使用 Initializr 中的 Spring Boot 应用程序,其中包含 Jersey 依赖项,并添加
io.swagger.core.v3:swagger-jaxrs2:2.1.13
作为附加依赖项。然后我创建以下 ResourceConfig(为简洁起见,省略了注册其他资源类):
@Component
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
this.registerClasses(
OpenApiResource.class
);
}
}
当我启动应用程序并查看 http://localhost:8080/openapi.json 生成的 API 规范时,我发现了两条路径:
GET /application.wadl/{path}
和GET /application.wadl
在 Swagger UI 中,它看起来像这样:
当我向 WADL 端点发送请求时,我在此设置中收到 404 响应。我已经尝试使用此行禁用 WADL 功能,但规范仍然包含两个路径:
this.property(ServerProperties.WADL_FEATURE_DISABLE, true);
如何正确禁用或隐藏 OpenAPI 规范中的这两个路径?
也许你可以尝试
packages-to-scan
财产
springdoc:
packages-to-scan:
- com.myapp.appName.controller
spring 文档不支持开箱即用的 jersey/JAX-RS。 您需要在 Jersey 资源配置中控制 swagger.json 生成逻辑。
OpenApiResource openApiResource = new OpenApiResource();
// change package name
openApiResource.setResourcePackages(Set.of("com.service.resource"));
// you can do a lot of configuration here
// https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Integration-and-Configuration#configuration-properties
register(openApiResource);