问题标签 [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 回答
410 浏览

api - 如何在 OpenAPI (Swagger) 语法中描述嵌套的请求体?

我需要用 OpenAPI (Swagger) 语法描述 REST (json) api。当我需要描述嵌套的请求主体时,我一直停留在这一点上。请建议如何制作,让我们以下一个嵌套请求正文为例:

0 投票
1 回答
1486 浏览

c# - 如何在 Asp.Net Core MVC 项目中为 Swagger 文档显式定义 API 控制器路径

我正在开发一个带有 Web API 项目的 Asp.Net core 3.1 MVC Web 应用程序。现在我只想为 API 项目配置 Swagger 文档,那么如何在配置中指定仅将 Web API 控制器用于文档?

在 ConfigureServices 方法中的启动类中对 swagger 的配置如下:-

Configure 方法中的配置如下:-

问题是 swagger gen 正在查看控制器文件夹、管理和身份区域以生成文档,但我宁愿将其配置为仅使用 WebApi 文件夹中的控制器。在这些控制器中指定了路由属性的所有控制器或操作方法也会在 API 文档中列出。我怎样才能排除那些?

有人可以帮我解决这个问题吗?我真的被困在这里了。

PS:我想提一下,我不能将 API 层移到其单独的项目中。

0 投票
3 回答
3552 浏览

node.js - 如何使用 Swagger 3 将自定义中间件添加到 express-openapi-validator

我有一个使用 express-openapi-validator 的 Node 应用程序,它接受一个 api 规范文件(这是一个 .yml 文件),并带有请求和响应验证。express-openapi-validator 包将请求路由到处理程序文件(在规范中定义)。这是其中一个处理程序的样子:

我有一个 API 密钥功能,用户可以获得新的 API 密钥,以及需要调用者在请求标头中拥有 API 密钥以验证请求的其他端点。

我知道应该可以使用中间件来验证请求,但我不知道如何在选择的端点上使用带有 express-openapi-validator 包的自定义中间件。

例如:

GET /apikey = 不需要 api 密钥 GET /resource = 需要 api 密钥

我该如何配置?

这是我的 app.js 中的 openapi 验证器代码的样子:

0 投票
1 回答
1234 浏览

openapi - 如何使用 OpenAPI 代码生成器为具有附加属性的对象生成模型类

additionalPropertes在我的 OpenAPI 定义中使用来引用地图对象。我的 OAS 部分如下所示:

使用openapi-generator4.3.1 版的 maven codegen 插件生成代码并具有以下配置时,不会为模型生成模型类Configuration

我们如何为additionalPropertiesOAS 中的对象生成模型类?

0 投票
1 回答
259 浏览

springdoc - Swagger 2 Springfox useDefaultResponseMessages() 方法的 Springdoc 等效项是什么?

我们正在从 Springfox 迁移到 Springdoc,并想知道 Springdoc 是否具有 useDefaultResponseMessages() 等价物?

已经看到一些需要一些编码的解决方案,但我想知道是否有一些可以像 useDefaultResponseMessages() 一样简单地实现的东西

在 springfox 中创建默认文档时,添加起来非常简单。

0 投票
0 回答
134 浏览

spring-boot - 如何使用 Spring Boot 在 Swagger 3.0 中为示例值添加样式

我想为示例值添加样式和颜色,就像 Swagger 在这里的示例一样:

在此处输入图像描述

0 投票
0 回答
640 浏览

java - 从 swagger-codegen v3 为 multipart-form-data 生成的对象为空

我有以下招摇的 yaml 文件

我的 build.gradle 文件有以下生成代码的条目。

swagger-codegen-v3 在我的 API 类中生成以下方法。

当我尝试点击请求时,我总是将 UploadRequest 对象设为 null,尽管我以以下格式传递值。但是,我正确填充了 FormDataContentDisposition 和 InputStream。

不太清楚里面发生了什么。有人可以帮我解释为什么 json 对象会为空。我在这里错过了什么吗?

0 投票
0 回答
153 浏览

java - 在使用 SpringFox 的 Swagger Docket 配置中忽略 OAuth2 SecurityReference AuhtorizationScope

在为 Swagger 设置案卷时,我遇到了在安全参考中使用 AuthorizationScope 的问题或误解。

我希望 SecurityScheme 中的 AuthorizationScope 将由 SecurityReference 强制执行,但实际上它被忽略了——这意味着从使用下面发布的 SecurityScheme 和 SecurityReference 的文档中调用我的 API 没有问题:

  • SecurityScheme 范围=openid
  • 安全参考范围=随便

案卷

案卷的安全设置

大摇大摆的一切看起来都很好。可以选择范围并通过单击授权按钮从 SSO 获得令牌并正确发送到标头中的授权对象,前缀 Bearer 和 API 返回 200。由于范围值不同,我预计会有一些 40X 未经授权的响应。

我的大摇大摆展示

您能否建议为什么会发生这种行为或我的期望有什么问题?

0 投票
0 回答
67 浏览

spring - 如何将扩展值写入 SpringFox 生成的 Swagger 中的未命名属性?

我在代码中添加了一个使用ApiInfo类中的extensions方法命名的供应商扩展:x-my-test

生成的yaml 文件在属性扩展中显示此值,如下所示:

我注意到,如果我将此yaml 文件加载到Swagger 编辑器中,那么由于extensions属性,我会看到一个错误:

是否可以在扩展属性之外写入x-my-test值?

并有这样的输出:

此输出符合 swagger 规范,并在 swagger 编辑器中成功加载。

0 投票
0 回答
55 浏览

spring-mvc - 覆盖 Swagger 生成的架构定义

如何使用配置文件覆盖 Swagger 生成的架构定义?类似于将@Schema 添加到类。我正在记录一个 Java Spring 项目。

包含类似内容的 swagger-override.yaml 示例: ComposedData:
type: string
example ="test-10"