问题标签 [swagger-3.0]

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 投票
1 回答
1229 浏览

java - 覆盖 io.swagger.v3.oas.annotations.media.Schema 中的任何参数都会引发异常

我有这个开放的 API 注释

有用。但是当我添加到@Parameter任何@Schema值时,schema = @Schema(type = "integer"))我得到一个例外:

换句话说: @Schema(type = ""))工作正常但 @Schema(type = "integer"))不起作用。

不仅是注释中type的参数。@Schema注释中的任何覆盖参数都会 @Schema引发此异常。

但是@Schemain@ApiResponse可以与任何覆盖参数一起正常工作。

0 投票
0 回答
315 浏览

swagger - 根据 OpenAPI 3 (Swagger) 规范,响应状态代码对于错误状态代码的多种媒体类型是否有意义

如果我们在这里遵循 OAS3 的 Response 规范,我们可以看到每个响应状态代码可以有多种媒体类型,而每种媒体类型又都有一个特定于它的模式。

UseCase :例如下面的 oas3 示例,我们可以看到 200 具有二进制流响应,但 400 具有 3 种媒体类型:application/json、application/xml、text/plain。

客户端也期望使用下面提到的所有媒体类型请求接受类型标头。我们如何为 400 响应代码提供特定的媒体类型,或者基本上我们如何将媒体类型传达给 REST 服务,以在其 400 错误请求和 200 返回二进制流时以 application/xml 的媒体类型进行响应。

此 OAS3 响应多种媒体类型对客户端/服务器错误是否有意义。如果是,那么预期的接受类型设置是什么,对于 400 错误请求说“应用程序/xml”。

请参考下面的招摇 UI 快照。我们还可以在其中看到错误代码的媒体类型下拉列表。但是当我们尝试执行其余操作时,仅根据 200 状态码的媒体类型填充接受标头

在此处输入图像描述

编辑:修改了 OAS3 规范和 SwaggerUI

0 投票
1 回答
1919 浏览

swagger - 来自jsonfile的java swagger 3注释@ExampleObject

我正在记录我的 api 之一,其中包含多个这样的示例:

这很好用,尽管EXAMPLE_ONE 是一个字符串值。从下面的示例中可以看出,这很不清楚

我正在寻找一种更好的方法来提供示例。一个json文件会很好,但我找不到任何关于它的东西。

0 投票
1 回答
124 浏览

openapi - Swagger Open API 安全架构给出对象错误

我在 yaml 的 open api swagger 规范中设置安全架构时遇到问题。

设置安全模式时出现以下错误:

在此处输入图像描述

在路径中我确实使用了 Bearerauth 但仍然是同样的问题:

路径:

有关如何解决此问题的任何建议,或实施有任何问题?

0 投票
0 回答
56 浏览

swagger - OAS3 回调是否也与服务实现部分相关,如果这个回调端点也可能是不同 Swagger 的一部分?

假设我有一个基于 OAS3 的 Swagger101.json,它有一个订阅端点操作,该操作配置了回调 URL 的回调操作。

因此,除了调用回调之外,回调定义是否意味着回调 URL 属于其他一些 Service Swagger 规范或基本上是另一个 Swagger JSON。这个回调端点操作可能是完全不同的 Swagger 规范的一部分,该规范有很多操作和端点要提供。

这有意义吗?

0 投票
0 回答
56 浏览

json - Swagger - 默认某些对象项未指定/缺失

在 swagger 中,我将 JSON(即对象)定义为 API 的输入请求主体。有些 JSON 项目是强制性的,有些则不是,而我希望默认(或显示示例)中的一些根本不在默认 JSON 中指定。我怎样才能做到这一点?

上面的代码显示示例为:

但我希望它是:

谢谢你。

0 投票
0 回答
22 浏览

api - swagger open api - 使用外部类

我有问题,我不知道如何向谷歌询问合理的答案。我有多个 API 我 Swagger 3.0。我想使用我自己的 OperatorDTO - 每个 API 都使用相同的 OperatorDTO。有可能吗?我用 api1.json 编写了一个微服务,用 api2.json 编写了第二个微服务,以及类似带有 OperatorDTO 定义的公共库之类的东西。怎么用,求指教。

0 投票
0 回答
133 浏览

spring-boot - Springfox Boot Starter 3.0.0 JsonSerializer 错误

我在我的项目中使用io.springfox 3.0.0 版本。我将依赖项添加到我的 build.gradle 文件中,如下所示:

implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'

外部库按预期创建:

我正在使用 Spring Boot 2.4.2 和 Java 11。

当我运行我的 Spring Boot 应用程序时,我收到以下错误:

org.springframework.beans.factory.UnsatisfiedDependencyException:创建名称为“swagger2ControllerWebMvc”的 bean 在 URL [jar:file:/opt/rally/dynamicscreen-service/lib/springfox-swagger2.jar!/springfox/documentation/swagger2/ 中定义时出错web/Swagger2ControllerWebMvc.class]:通过构造函数参数2表示的不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在 springfox.documentation.spring.web.SpringfoxWebConfiguration 中创建名称为“jsonSerializer”的 bean 时出错:通过工厂方法实例化 bean 失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [springfox.documentation.spring.web.json.JsonSerializer]:工厂方法 'jsonSerializer' 抛出异常;嵌套异常是 java.lang。

我哪里做错了?

0 投票
0 回答
106 浏览

json - Swagger - OpenAPI 3.0:在 RequestBody 中定义附加属性以表示 JSON

我有一个 REST API,它在 RequestBody 中接受 application/json。json 中的键未预定义。所以我在swagger中使用了additionalProperties来定义这个JSON。此外,这个 json 也可能包含 JSONArray。

问题是,当使用 additionalProperties 时,它在生成的 java 代码中被内部视为 Map<String, Object> 。该映射通过内部使用 Gson 反序列化为 JSON。在此转换过程中,以下 json

被转换为

json 数组放在myArrayList键中。这会导致此请求的输入验证失败。有没有更好的方法来解决这个问题?

0 投票
1 回答
716 浏览

c# - 来自 ASP.Net 核心的 Swagger 设置参数属性

我正在使用 Swagger 对 OpenApi 3.0 进行序列化。具体来说,我尝试使用以下格式序列化输入查询参数数组

我知道如何在 swagger 文档中实现这一点。只需设置parameter.explode=false

但我不知道如何在控制器类的 ASP.Net Core 3.1 中设置此参数属性以正确生成我的 swagger 文档。我尝试了几件事,例如实现基于IParameterFilter的过滤器,但对我来说没有任何效果。