问题标签 [springdoc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6849 浏览

java - 如何使用 Springdoc 从 OpenAPI 文档中隐藏端点

Springdoc 自动为所有处理程序方法生成 API 文档。即使没有 OpenAPI 注释。

如何从 API 文档中隐藏端点?

0 投票
1 回答
186 浏览

openapi - 如何在 Springdoc Open API 中对单个服务项目中的公共响应类进行建模

我正在尝试使用 Spring doc api 为我的服务项目生成打开的 api 文档。

我在另一个库中定义了一个公共类 Response 类,我们无权添加/修改这个类。

例如

此类将在多个服务(多个项目)中使用以生成响应,RestResponse 类中的“任何”字段将填充单个服务业务对象。

如何使用@Schema 为每个单独的服务建模响应类。

提前致谢。

0 投票
2 回答
6056 浏览

swagger - Springdoc OpenAPI ui 不遵守“位置”中的上下文路径

设置:

我正在使用springdoc-openapi-ui1.4.0 版(通过 Maven)中的 Java 库,而在一个简单的 spring-boot 项目中没有任何自定义。

Swagger 页面在 https://my-url.com/my-context-path/swagger-ui/index.html下生成

以及https://my-url.com/my-context-path/v3/api-docs/下的 api-docs

这两项工作,我可以达到他们。到目前为止,一切都很好!

现在的问题:

当简单地导航到https://my-url.com/my-context-path/swagger-ui.html我得到一个 HTTP 状态 302 和一个location在响应标头中设置的属性,该属性应该将我重定向到招摇页面从上面(我假设)。

但是,location属性中的 URL 错过了上下文路径!它看起来像这样: https ://my-url.com/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config

它重定向到一个不存在的页面,我收到 404 错误代码。请注意,configUrl 似乎也缺少上下文路径。

任何想法为什么会发生这种情况以及如何解决?

这个 Github 问题似乎是同样的问题,但最后指出问题已得到解决:https ://github.com/springdoc/springdoc-openapi/issues/37这是我之前的版本。

0 投票
1 回答
283 浏览

springdoc - 禁用按字母顺序排序字段值

我正在使用 Spring Boot (v2.1.3 RELEASE) 和 SpringDoc。我已经浏览过https://springdoc.org/springdoc-properties.htmlhttps://springdoc.org/,但看起来 SpringDoc 会自动按字母顺序对参数进行排序。我们怎样才能防止这种情况发生?

0 投票
2 回答
1300 浏览

spring-boot - Hiding response from ExceptionHandlers in SpringDoc OpenApi

I have Spring Boot MVC application where exceptions are handled within a general @ControllerAdvice. Some of them do not include a response body, like for instance:

Everything works fine, but I run into issues if I want to expose my endpoints with SpringDoc. The exception handler is picked up correctly, however, the Swagger-UI displays a random response for 404s:

Wrong response schema

Note, that this even isn't the response of the GET endpoint in question here, but a response from a method from a different RestController.

What do I have to do to hide wrong response? I already tried

as suggested in the docs, but that does not work.

0 投票
1 回答
819 浏览

spring-boot - Springdoc-openapi。ClassNotFoundException:org.springframework.data.rest.webmvc.support.DefaultedPageable

将 Spring Boot 迁移到 3.1 版并将 springdoc-openapi 库迁移到 1.4.1 后:

  • springdoc-openapi-ui
  • springdoc-openapi-安全
  • springdoc-openapi-数据-rest

我遇到了问题ClassNotFoundException: org.springframework.data.rest.webmvc.support.DefaultedPageable

现在也在 Swagger UI 上@Entity生成了页面控制器和模式,但是之前只有来自@RestController、请求和响应 DTO 的端点。有没有办法禁用它?

0 投票
1 回答
46 浏览

openapi - 在哪里可以找到 springdoc 的 API 参考文档?

springdoc-openapijava 库是一个不错的库,用于将 Open API 3 与 Spring 项目(替代方案)集成springfox

我正在寻找参考文档(例如springfox除了官方网站,我什么也没找到。该网站很好地解释了库的使用,但不是完整的 API 参考。

还有一些不错的教程:BaeldungDZonePiotrminkowski Blog。但不是任何有组织的 API 参考文档。

有什么好的参考吗?

0 投票
3 回答
6068 浏览

spring-boot - Springdoc:打开 swagger-ui.html 时得到 404

我得到了最新的 Spring Boot 应用程序和 springdoc.swagger-ui。

我的 application.properties 包含 springdoc.swagger-ui.path=/swagger-ui-openapi.html

当我通过 Intellij IDEA 运行应用程序时,http://localhost:8080/swagger-ui-openapi.html将我带到http://localhost:8080/swagger-ui/index.html?configUrl=/v3/api-docs/ swagger-config 和 Swagger UI 页面加载成功。

但是,如果我通过命令行启动应用程序:“java -jar my-app.jar”,当我尝试访问http://localhost:8080/时,我在浏览器中得到 404,并且在日志中出现错误 'Circular view path [error]' swagger-ui-openapi.html 并将我重定向到http://localhost:8080/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config

但是http://localhost:8080/v3/api-docs是可访问的,并且架构在此地址可用。

我怎样才能解决这个问题?

0 投票
1 回答
870 浏览

springdoc - 如何在 Spring Boot 和 Spring doc 中隐藏基于 Profiles 的端点?

我正在研究Spring Boot v2.2.2.RELEASE and SpringDoc UI and Open API Specification OAS3,我在这里发现了非常相关的问题:https ://github.com/springdoc/springdoc-openapi/issues/201 。

我有 4 个配置文件,分别是 Dev、Stage、UAT 和 Prod,并说我有 Student API、Employee API 和 Department API。

我想要 UAT 和 Prod 配置文件,我想隐藏部门 API。我们怎么能不呢?

0 投票
1 回答
439 浏览

java - 无法在 chrome 中查看 open-api 文档

我们使用的依赖是我们的 pom for openapi 如下:

这个 pom 也有来自其他项目的依赖项,并且那些其他项目是 java maven 项目。

我什至尝试对 webSecurityConfiguration 类进行更改,如下所述:

点击网址 http://localhost:8081/v3/api-docs 或 http://localhost:8081/swagger-ui.html 后,我收到此错误:

此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。

<error_description>在 SecurityContext 中未找到 Authentication 对象</error_description>
未经授权