OpenAPI规范(最初称为Swagger规范)是用于描述,生成,使用和可视化RESTful Web服务的机器可读接口文件的规范。
使用 Plumber 指定 OpenAPI/Swagger 的可能响应
我正在寻找一种方法来指定路由可以响应的可能状态代码,除了默认的 200“OK”和 500“内部服务器错误”之外,还具有不同的内容...
使用 Ajv 加载使用从 OpenAPI 描述内的 yaml 文件导入的 $ref 的架构时,我收到错误。 这是我的 yaml 文件: 开放API:3.0.3 信息: 标题: 演示 ...
Ajv 无法解析 id 测试中的引用 #/components/schemas/other
我在使用 Ajv 加载使用从 yaml 文件导入的 $ref 的架构时收到错误。 这是我的 ymal 文件: 开放API:3.0.3 信息: 标题: 演示 版本:1.0.0 路径: /轮播: ...
我正在尝试构建一个自定义 GPT,它可以通过“操作”配置访问 API。 为了便于说明,我构建了下面的玩具 API 并部署到 https://main-bvxea6i-74oriiawvvtoy.eu-5。
在 .NET 6 中使用 Swashbuckle 和 OAuth 代码流,swagger UI 没有发送任何身份验证标头
我正在尝试使用 PCKE 获取 OAuth 代码流,以便与 .NET 6 中的 Swashbuckle (6.2.3) 和 swagger ui 一起使用。有一些成功发生的事情: 在 swagger UI 中,我可以单击“Authoriz...
自定义 GPT 的 OpenAI 操作:如何修改 OpenAPI 架构以发送文件和字符串
我正在制作一个连接到我自己的服务器的自定义 GPT。如果只发送一个字符串,我就可以让它工作,但是如果我尝试允许用户也发送一个文件(我只需要它来处理图像文件...
如何在openapi规范中定义一个可以是电子邮件格式或空字符串的属性(swagger)
我有一个电子邮件字段,用户将其作为 POST/PUT API 的一部分发送。我想使用 openapi 规范验证电子邮件是否采用正确的电子邮件格式(如果存在)。如果它是空的...
OpenAPI-提供下载 pdf 格式响应示例的链接(添加 pdf 示例)
在 Openapi 中,需要在 Swagger UI/Redoc 等中提供 pdf 格式的响应示例作为下载链接。 我正在使用 OpenAPI 3.1 和 API 之一。我需要以 pdf 文件形式显示回复示例
使用 NSwag.MSBuild 生成 C# API 客户端
我有一个.NET 6.0 API 项目。我正在尝试生成 C# API 客户端,因此我添加了 NSwag.MSBuild nuget 包并通过添加以下内容修改了我的 API 项目文件: 我有一个 .NET 6.0 API 项目。我正在尝试生成 C# API 客户端,因此我添加了 NSwag.MSBuild nuget 包并通过添加以下内容修改了我的 API 项目文件: <Target Name="NSwag" AfterTargets="PostBuildEvent" Condition=" '$(Configuration)' == 'Debug' "> <Exec WorkingDirectory="$(ProjectDir)" EnvironmentVariables="ASPNETCORE_ENVIRONMENT=Development" Command="$(NSwagExe_Net60) run nswag.json /variables:Configuration=$(Configuration)" /> </Target> 然后我创建了一个nswag.json: { "runtime": "Net60", "codeGenerators": { "openApiToCSharpClient": { "clientBaseClass": null, "generateClientClasses": true, "generateClientInterfaces": true, "clientBaseInterface": null, "injectHttpClient": true, "disposeHttpClient": false, "output": "../Blah/Client.g.cs", "contractsOutputFilePath": "../Blah/Contracts.g.cs" } } } 当项目构建时,它会在 Blah 文件夹中生成一个 client.g.cs,但它生成的实际 C# 代码似乎来自某些 Pet API,例如这里是 IClient 接口中的几个签名,我不知道这个在哪里Pet API 是从哪里来的。大家有什么想法吗: /// <summary> /// Add a new pet to the store /// </summary> /// <param name="accept_Language">The language you prefer for messages. Supported values are en-AU, en-CA, en-GB, en-US</param> /// <param name="cookieParam">Some cookie</param> /// <exception cref="ApiException">A server side error occurred.</exception> System.Threading.Tasks.Task AddPetAsync(object body, string accept_Language, long cookieParam); /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param> /// <summary> /// Add a new pet to the store /// </summary> /// <param name="accept_Language">The language you prefer for messages. Supported values are en-AU, en-CA, en-GB, en-US</param> /// <param name="cookieParam">Some cookie</param> /// <exception cref="ApiException">A server side error occurred.</exception> System.Threading.Tasks.Task AddPetAsync(object body, string accept_Language, long cookieParam, System.Threading.CancellationToken cancellationToken); /// <summary> /// Update an existing pet /// </summary> /// <param name="accept_Language">The language you prefer for messages. Supported values are en-AU, en-CA, en-GB, en-US</param> /// <param name="cookieParam">Some cookie</param> /// <exception cref="ApiException">A server side error occurred.</exception> System.Threading.Tasks.Task UpdatePetAsync(object body, string accept_Language, long cookieParam); /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param> /// <summary> /// Update an existing pet /// </summary> /// <param name="accept_Language">The language you prefer for messages. Supported values are en-AU, en-CA, en-GB, en-US</param> /// <param name="cookieParam">Some cookie</param> /// <exception cref="ApiException">A server side error occurred.</exception> System.Threading.Tasks.Task UpdatePetAsync(object body, string accept_Language, long cookieParam, System.Threading.CancellationToken cancellationToken); /// <summary> /// Find pet by ID /// </summary> /// <param name="petId">ID of pet to return</param> /// <returns>successful operation</returns> /// <exception cref="ApiException">A server side error occurred.</exception> System.Threading.Tasks.Task<Pet> GetPetByIdAsync(long petId); 我认为这是 NSwag 生成器的默认行为。您必须指定输入才能阅读您的规范。 就我而言,我为 api 规范创建了一个 yaml 文件。 nswag.json 文件如下所示。 { "runtime": "Net60", "defaultVariables": null, "documentGenerator": { "fromDocument": { "json": "", "url": "openapi.yaml", "output": null } }, "codeGenerators": { "openApiToCSharpClient": { "clientBaseClass": null, "generateClientClasses": true, "generateClientInterfaces": true, "clientBaseInterface": null, "injectHttpClient": true, "disposeHttpClient": false, "output": "../Blah/Client.g.cs", "contractsOutputFilePath": "../Blah/Contracts.g.cs" } } } 欲了解更多详情,您可以阅读这里。 假设您有 ASP.NET Core API 项目 MyApi.csproj,您想要为文件夹 MyApiClients.csproj 到 Generated 下的单独项目 Clients.g.cs 自动生成 API 客户端。项目文件夹结构: 我的API 控制器 .temp(生成 Clients.g.cs 的文件夹,用于构建后的控制器定义) MyApiClients 已生成(生成后从 MyApi/.temp 复制 Clients.g.cs 的目标文件夹) 要使您的 API 项目在构建时自动生成(在下面的 AfterBuild 示例中),您需要: 确保您已将 NSwag.MSBuild NuGet 软件包添加到 MyApi.csproj 为MyApi/nswag.json添加NSwag配置文件(您可以使用NSwagStudio UI来配置设置,或者如果您熟悉设置,则只需手动编辑JSON) 然后添加MSBuild目标来生成API客户端并将其复制到目标位置: 这是经过修剪的 nswag.json 文件,其中包含大多数已提交的默认设置:
快速添加Schema以提供OpenAPI 2.0定义对象的有意义的名称
我使用 fastify 创建了一些模式定义,如下所示,其中我使用“标题”来为模型提供有意义的名称。 fastify.addSchema({ $id: '持久查询参数', ...
这些是我想要为其生成 openapi 规范的类: 导入 org.eclipse.microprofile.openapi.annotations.media.Schema; @Schema(requiredProperties = {“id”}) 公开
使用 OpenAPI 文档在 Swagger-UI 上生成 guid
我有一个 OpenAPI 文档,我想在 Swagger-UI 上生成随机 guid。目前,它正在生成一个未应用格式的“字符串”值。 { “ID”: { “类型”:&
如何使用 OpenAPIDocument 生成 Guid On Swagger
我正在使用 Swagger 和 OpenApiDocument,我希望它能在 swagger UI 上生成随机 Guid,目前它正在生成我的“字符串” “ID”: { “类型”:“字符串”, ”
我正在尝试在 Redoc 中创建一个独立的 HTML 文件。 按照 https://redocly.com/docs/redoc/deployment/html/ 中的示例,这是我下面的 HTML。 HTML 和 openapi.json 都在文档中...
在 Swagger OpenApi 3.0 中将数组作为查询参数传递
我目前给出了以下代码来获取一组值作为查询参数(在 Node-express、nodejs v14.17 和 OpenAPI 版本 3.0.1 中), - 名称:abcd 描述: abcd ...
OpenApi 生成的 axios 客户端 keycloak 支持
我正在尝试使用 .NET Core OpenAPI 后端构建 React 应用程序。我按照本教程设置了用于用户识别的Keycloak:https://blog.devgenius.io/part-four-security-in-react...
IntelliJ 或 Redocly 是否缓存 HTTP 结果?
我正在使用 openapi 3.0.0、IntelliJ 2023.2.4 Ultimate 和 Redocly 插件开发 Java 代码。我相信 HTTP 响应被缓存在该堆栈的某个层,这导致了问题......
即使使用带有 dataType 的 ApiModelProperty 进行注释,API 也会处理错误的请求而不会引发错误
我收到以下错误 - “生成的值是整数类型,而不是‘字符串’类型”,使用 42crunch 一致性扫描报告以下问题 - “...
我曾经根据 OpenAPI 架构的一部分来验证响应正文(我解析了架构文件并仅采用了所需的响应架构)。 但是当响应模式引用另一个
如何创建一个 swagger:response 来生成二进制应用程序/pdf 文件?
我无法在 swagger、connexion、openapi3 中下载文件。在 openapi 规范中,我定义了以下路径: /实验室/样本/列表/pdf: 得到: 摘要:下载 pd...