问题标签 [springdoc-ui]
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.
spring-boot - Swagger 声明 schema = @Schema(implementation = Map.class) 将 Schema 表示为 swagger-ui 中的 String
我正在尝试创建springdoc
招摇的文档,并且我想以Map<String, Object>
更好的可读方式为客户表示具有数据类型的请求正文。但是当我宣布@io.swagger.v3.oas.annotations.parameters.RequestBody(content = @Content(schema = @Schema(implementation = Map.class)
Schema 即将到来时String
(附上下面的屏幕截图)
方法声明
虽然 Spring boot 会根据方法签名自动推断类型,但数据类型并不清楚Map
。例如,默认情况下,类型 Map<String, Object> 将被推断如下
但我想以更容易理解的方式为引用我的 API 的客户展示 Schema。我可以看到在Github中有一张没有适当解决方案的封闭票。根据我的要求,请求正文应该是类型不可知的动态键值对,因此除了将请求接收为Map<String, Object>
. 有没有人用类型实现了更好的方法Map
而不是创建自定义请求/响应模型?
spring-boot - springdoc-openapi 如何将字符串数组显示为响应
网上没有关于如何使用 springdocs-openapi 库 (1.5.7) 获得以下输出的好例子。我正在寻找以下输出:
这是基于提供的示例的代码。
这导致以下输出
上面列出的输出 ["A","B","C"] 如何通过 springdocs-openapi 库实现?
java - 当我包含大型资源文件并构建/运行 JAR 文件时,为什么我的 Springboot Springdoc /swagger-ui.html 端点返回 404?
当存在大型资源文件(例如,每个 ~380Mb 的 7 个文件)时,为什么 SpringDoc swagger-ui.html 返回 404 / Whitelabel 错误页面?这是在构建和运行 JAR 文件之后发生的。当项目直接从 Intellij 运行时,端点工作正常。
我已经能够使用 SpringDoc 演示存储库复制该错误。访问时的预期行为/swagger-ui.html
是让 swagger-ui 页面加载显示图书服务资源。但是,当存在大型资源文件时,我得到的是 404,日志显示:
重现
- 克隆https://github.com/springdoc/springdoc-openapi-demos
- 创建7个大型资源文件:
head -c 400000000 /dev/urandom > BigTestFile1.bin
head -c 400000000 /dev/urandom > BigTestFile2.bin
head -c 400000000 /dev/urandom > BigTestFile3.bin
head -c 400000000 /dev/urandom > BigTestFile4.bin
head -c 400000000 /dev/urandom > BigTestFile5.bin
head -c 400000000 /dev/urandom > BigTestFile6.bin
head -c 400000000 /dev/urandom > BigTestFile7.bin
- 创建一个名为
LargeFiles
springdoc-openapi-book-service src/main/java/resources 的文件夹,并将所有 7 个 TestFiles 放在该文件夹中。 - 构建罐子
mvn clean package
- 运行罐子
java -jar ./target/springdoc-openapi-book-service-3.1.6-SNAPSHOT.jar
- 导航到 http://0.0.0.0:8080/swagger-ui.html。
我一直在研究许多 API——这个问题似乎只在存在大型资源文件时才会出现,并且仅在构建/运行 JAR 文件之后才会出现。
spring-boot - 根据条件隐藏springdoc-openapi中的方法
我们正在开发一个使用 springdoc-openapi 库来生成 swagger 文档的 spring boot 项目。我们有一个要求,我们需要在控制器中隐藏一些 API。Spring Boot 确实提供了一种使用 @ConditionalOnProperty 标记隐藏/显示控制器的方法。但是spring boot没有办法隐藏/显示基于属性的方法。
springdoc-openapi 是否提供了在扫描所有控制器后过滤操作的方法?或任何其他方式来隐藏/显示一些基于属性的招摇的 API。
spring-boot - 如何在 Apache Camels RouteBuilder.restConfiguration() 中添加 OpenApi/Swagger securitySchemes?
我尝试添加springdoc-openapi-ui
和camel-springdoc-starter
。效果还不错。
现在我在上下文路径'/camel'
和缺少的securitySchemes
.
有谁知道如何做到这一点
我如何获得这样的配置?
使用这样的东西:
spring-boot - 带有 Spring Data REST 的 Spring Boot OpenAPI 3
我无法使用 OpenAPI 记录我的 Spring Data REST API。swagger-ui 的主页(和 /v3/api-docs 显然)中没有显示任何内容。
这是我的依赖项的摘录:
还有我的 JPA 存储库:
这是我的 Spring Boot 设置:
当然,我的 CRUD API 在 /people PATH 上是可以的。甚至 /profile/people PATH 似乎也是正确的。
我一定是错过了什么......感谢您的帮助。
openapi - 如何使用 java config 而不是 SpringDoc/OpenApi 中的属性读取多个 json 文件?
这个问题已经在 swaggerfox 下面的代码片段中得到解决 -
=========================================
我们需要在 springdoc/openapi 中替换此代码吗?我们有以下属性字段 -
springdoc.swagger-ui.urls[0].url=/swaggerdoc/openapi.json
springdoc.swagger-ui.urls[0].name=openapi
但是属性驱动的状态我们需要自定义实现并且需要在 spring-boot 配置中实现?
swagger - springdoc-openapi 的招摇 url 问题
这不是 springfox 的故事 这是 springdoc -openapi 的故事。
我目前的依赖
我的属性
在此处请求(localhost:8080/swagger-ui.html)我的服务器响应 swagger petstore 示例我已经知道 petstore 禁用(springdoc.swagger-ui.disable-swagger-default-url=true),但它不起作用
另一个问题是如果我在这里请求 http://localhost:8080/swagger-ui/index.html?url=/v3/api-docs
无法读取控制器信息 无法读取控制器信息
你应该总是在输入框中写 /v3/api-docs
如果您请求 swagger.html,我希望 /v3/api-docs 的内容像第二张图片一样出现
我怎么解决这个问题?
感谢阅读祝你有美好的一天
springdoc-openapi-ui - Springdoc openapi 3 @Schema 示例被忽略
@Schema Example 在一个类属性上被 springdoc Openapi 忽略,但在同一类中的其他属性上工作。添加
@Schema(type = "integer", format = "int64", example = "1560868939063") private Instant date;
在一个类的一个领域。访问 /v3/api-docs 端点我可以看到该示例被完全忽略,它显示:
"MyClass":{"type":"object","properties":{"date":{"type":"integer","format":"int64"},...
编辑:似乎它被忽略了,因为字段的类型是 java.time.Instant,这意味着实际的 java 类属性类型,而不是 @Schema 中的“类型”属性。在例如 String 类型的字段上,它可以工作并显示示例。
使用弹簧引导 2.5: