问题标签 [openapi-generator]

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 投票
0 回答
1881 浏览

openapi-generator - 当提供的 generatorName 为 spring 时,openapi-generator-maven-plugin 不生成任何测试用例

我有一个 api.yml 文件,用于使用 maven Generte-sources 命令生成重新端点源在目标/生成源中生成,但没有生成测试用例。

我试过设置 false 但什么也没发生

我的配置在这里

0 投票
1 回答
551 浏览

swagger - 具有外部引用验证的 OpenApi

来自 Soap、XSD、WSDL 世界,我试图找到一种方法来重用在使用 OpenApi v3 时定义的一些模式。

目录结构:

在此处输入图像描述

地址.yaml

客户.yaml

客户API.yaml

如何使用此结构与现有工具来验证和生成客户 API 的 Java 代码?

谢谢

0 投票
0 回答
61 浏览

r - OpenAPI 生成的 R 枚举有问题并且似乎什么都不包含

我正在尝试通过通常运行良好的 OpenAPI Generator 创建 R 代码;现在我意识到枚举实际上存在问题。当尝试对这些类进行 source() 时,我得到一个错误“错误值”,在检查时这是有道理的 - 这是生成的代码:

问题是第 10 行中的逗号,我认为:编写类似的东西function(test, ...)可以让我毫无错误地阅读课程。

然而,问题仍然存在:我看不出有任何理由为什么这段代码会做任何枚举会做的事情,并且实际上打印 egprint(EnumTest$new("enum-value"))表明我的实际值无处可寻,并且$self也如预期的那样为 NULL。


生成的代码从一开始就出错了吗?还是我错过了什么?

编辑:

我的 OpenAPI JSON Schema 中的条目如下,如果有帮助的话:

0 投票
0 回答
508 浏览

jhipster - 我可以使用 SpringFox 生成客户端代码吗?

我正在尝试确定是否可以为我的 API 生成客户端代码/存根(在 C# 中)。API 后端主要是使用 JHipster 生成的,并且是基于 Spring 的。它已经配置为使用 SpringFox 生成文档(并且效果很好)。

我承认我对所有这些部件和部件如何组合在一起没有很好的理解。其中很多对我来说都是新的。据我了解,SpringFox 通过查询代码从 API 本身构建其文档。而且我知道 Swagger/OpenAPI 能够使用 CodeGen 项目生成客户端代码。所以似乎应该可以结合 SpringFox 和 CodeGen 从服务器代码生成客户端代码,但我无法弄清楚如何做到这一点。

有人可以给我一些关于如何完成这项工作的指示吗?谢谢!

0 投票
1 回答
1383 浏览

angular - openapi-generator-cli 生成的服务不可注入

我正在尝试使用 openapi-generator-cli 从 v2 swagger 文件生成 API 客户端。为此,我使用了 openapi-generator-cli 的 docker 容器,它将其版本报告为“4.1.0-SNAPSHOT”。

代码生成适用于以下选项:

而且我也尝试将providedInRoot选项设置为true。

但是,生成的服务类没有使用@Injectable装饰器进行注释。所以在我的组件中导入它们并在组件的构造函数中添加服务后,我无法使用它们。这就是我的组件的样子:

失败,因为 userService 在 AppComponent 的范围内不存在。

这就是我导入生成的模块的方式:

关于生成 api 客户端时我的错误在哪里的任何想法?

编辑: 生成的代码如下所示:

0 投票
1 回答
1085 浏览

php - OpenAPI PHP 客户端使用 anyOf 给出致命错误

anyOf我正在尝试使用和allOf属性制作 OpenAPI 自动生成的 PHP 客户端。

目标是能够返回一个具有多态性的数组:不同类型的对象。
这些对象也有一个共同的基础对象。

在我的示例模式中,Items它是一个数组,其中项目可以是类型ItemOneItemTwo.
这两种类型的项目都有一个自己的属性(itemOnePropertyitemTwoProperty,分别)和一个公共属性(baseItemProperty从关键字继承)。BaseItemallOf

这里有 API 规范 yaml:

这是我发送请求的端点:https ://api.myjson.com/bins/roxgd

它返回这个示例 json:

PHP 客户端生成时没有错误,但是当它调用该getItems方法时,我得到了这个致命错误:

如果我使用该oneOf属性,也会发生同样的情况,但我得到的错误是:Uncaught Error: Class 'OneOfItemOneItemTwo' not found....


当我使用任何其他有效的 yaml(没有多态性)时,我的设置工作正常。

另外,我已经检查了这个相关的问题,但那是关于 UI 的,我根本没有使用它。

你知道错误可能在哪里吗?我的 yaml 文档中有错误?PHP客户端生成器中的错误?

编辑:我正在使用 openapi-generator v4.0.3(此时的最新版本)。

0 投票
1 回答
6604 浏览

typescript - 如何从 OpenAPI 3.0 规范生成 Express + TypeScript API?

我使用 OpenAPI 3.0 为我的 REST API 服务器编写了规范。现在,与其手动编写大量重复的代码,还有可能引入的所有错误,我想快速生成一个 expressjs 应用程序。我知道我可以从editor.swagger.io生成一个服务器应用程序,但是生成的代码是 javascript,所以我不能使用我的模型中的类型!

有没有一种工具可以根据 OpenAPI 3.0 规范生成用 typescript 编写的快速应用程序?如果它可以创建所有文件夹、控制器并正确使用模型(以标准方式!),那就太棒了。那肯定会很快开始我的项目!

0 投票
1 回答
415 浏览

go - 如何使用 OpenAPI Generator Client SDK 访问 HTTP 错误正文

OpenAPI Generator创建遵循一般模式的 API 函数:

func (api *MyAPI) OperationId(context.Context) (ResponseStruct, *http.Response, error)

如何在出错时检索 HTTP 正文?但是,当 HTTP 状态代码是错误时,它error不包含正文,并且由于正文已被读取nil,因此也不包含正文。*http.Response并且,错误不会作为成功和失败定义解组到 ResponseStruct 中。是不同的。

0 投票
1 回答
3183 浏览

java - openapi springboot 服务器生成器是否有损坏的线程模型?

所以我们正在尝试使用 OpenAPI 生成器,到目前为止,我们的结果好坏参半。

重现步骤:

  1. 下载 openapi 生成器 jar:wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator/4.0.3/openapi-generator-4.0.3.jar
  2. 为 petstore 示例生成 springboot 服务器:java -jar openapi-generator-cli-4.0.3.jar generate -g spring -i https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml

您最终会得到如下所示的控制器类:

所以我的问题是:我能找到的一切都意味着 Spring Controller 是多线程的,可以一次处理多个请求。代码生成器坏了吗?我对此的解释完全错误吗?

的构造函数PetsApiController让我暂停。如果每个请求都自动装配一次,那么这意味着每个请求只有一个吗?

0 投票
1 回答
2958 浏览

c# - 如何将 OpenAPI 生成器与企业代理一起使用?

我正在尝试使用OpenAPI 生成器根据openapi: "3.0.2"json 配置自动生成 C# 客户端代码:

这失败并出现以下错误:

[main] 错误 io.swagger.v3.parser.util.RemoteUrl - 无法读取 java.net.ConnectException:连接超时:在 java.net.DualStackPlainSocketImpl.socketConnect 处连接 java.net.DualStackPlainSocketImpl.connect0(Native Method) (Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown源) 在 java.net.SocksSocketImpl.connect(Unknown Source) 在 java.net.Socket.connect(Unknown Source) 在 sun.security.ssl.SSLSocketImpl.connect(Unknown Source) 在 sun.security.ssl.BaseSSLSocketImpl.connect (未知来源)在 sun.net.NetworkClient。在 sun.net.www.http.HttpClient.openServer(Unknown Source) 在 sun.net.www.http.HttpClient.openServer(Unknown Source) 在 sun.net.www.protocol.https.HttpsClient 的 doConnect(Unknown Source)。 (未知来源) sun.net.www.protocol.https.HttpsClient.New(未知来源) sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(未知来源) sun.net.www.protocol.http sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) 的 .HttpURLConnection.plainConnect0(Unknown Source) sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) sun.net.www .protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) at io.swagger.v3.parser.util.RemoteUrl.urlToString(RemoteUrl.java:147) 在 io.swagger.v3.parser.OpenAPIV3Parser.readLocation(OpenAPIV3Parser.java:45) 在 io.swagger.parser.OpenAPIParser.readLocation 的 io.swagger.v3.parser.OpenAPIV3Parser.readWithInfo(OpenAPIV3Parser.java:123) (OpenAPIParser.java:16) 在 org.openapitools.codegen.config.CodegenConfigurator.toClientOptInput(CodegenConfigurator.java:586) 在 org.openapitools.codegen.cmd.Generate.run(Generate.java:395) 在 org.openapitools。 codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:60)toClientOptInput(CodegenConfigurator.java:586) at org.openapitools.codegen.cmd.Generate.run(Generate.java:395) at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:60)toClientOptInput(CodegenConfigurator.java:586) at org.openapitools.codegen.cmd.Generate.run(Generate.java:395) at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:60)

但是,如果我下载 json 文件并使用本地文件输入运行,它工作正常:

我已经在没有公司代理的计算机上对此进行了测试,并且它工作正常,所以我的主要怀疑是代理。

我已经设置HTTP_PROXY和`HTTPS_PROXY,但没有使用它们。

问题:如何将 OpenAPI 生成器与企业代理一起使用?