问题标签 [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.
java - 覆盖 io.swagger.v3.oas.annotations.media.Schema 中的任何参数都会引发异常
我有这个开放的 API 注释
有用。但是当我添加到@Parameter
任何@Schema
值时,schema = @Schema(type = "integer"))
我得到一个例外:
换句话说: @Schema(type = ""))
工作正常但 @Schema(type = "integer"))
不起作用。
不仅是注释中type
的参数。@Schema
注释中的任何覆盖参数都会 @Schema
引发此异常。
但是@Schema
in@ApiResponse
可以与任何覆盖参数一起正常工作。
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
swagger - 来自jsonfile的java swagger 3注释@ExampleObject
我正在记录我的 api 之一,其中包含多个这样的示例:
这很好用,尽管EXAMPLE_ONE 是一个字符串值。从下面的示例中可以看出,这很不清楚
我正在寻找一种更好的方法来提供示例。一个json文件会很好,但我找不到任何关于它的东西。
swagger - OAS3 回调是否也与服务实现部分相关,如果这个回调端点也可能是不同 Swagger 的一部分?
假设我有一个基于 OAS3 的 Swagger101.json,它有一个订阅端点操作,该操作配置了回调 URL 的回调操作。
因此,除了调用回调之外,回调定义是否意味着回调 URL 属于其他一些 Service Swagger 规范或基本上是另一个 Swagger JSON。这个回调端点操作可能是完全不同的 Swagger 规范的一部分,该规范有很多操作和端点要提供。
这有意义吗?
json - Swagger - 默认某些对象项未指定/缺失
在 swagger 中,我将 JSON(即对象)定义为 API 的输入请求主体。有些 JSON 项目是强制性的,有些则不是,而我希望默认(或显示示例)中的一些根本不在默认 JSON 中指定。我怎样才能做到这一点?
上面的代码显示示例为:
但我希望它是:
谢谢你。
api - swagger open api - 使用外部类
我有问题,我不知道如何向谷歌询问合理的答案。我有多个 API 我 Swagger 3.0。我想使用我自己的 OperatorDTO - 每个 API 都使用相同的 OperatorDTO。有可能吗?我用 api1.json 编写了一个微服务,用 api2.json 编写了第二个微服务,以及类似带有 OperatorDTO 定义的公共库之类的东西。怎么用,求指教。
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。
我哪里做错了?
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键中。这会导致此请求的输入验证失败。有没有更好的方法来解决这个问题?
c# - 来自 ASP.Net 核心的 Swagger 设置参数属性
我正在使用 Swagger 对 OpenApi 3.0 进行序列化。具体来说,我尝试使用以下格式序列化输入查询参数数组
我知道如何在 swagger 文档中实现这一点。只需设置parameter.explode=false
但我不知道如何在控制器类的 ASP.Net Core 3.1 中设置此参数属性以正确生成我的 swagger 文档。我尝试了几件事,例如实现基于IParameterFilter的过滤器,但对我来说没有任何效果。