问题标签 [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 投票
1 回答
471 浏览

api - 如何比较两个 OpenAPI / Swagger json API 文档之间的路径、定义、参数和响应?

我想知道是否有一种解决方案可以帮助找出同一产品的两个不同 API 版本之间的差异(Swagger/Open API 2.0)。例如,这个工具:https ://github.com/Sayi/swagger-diff比较参数、响应、注释、http 方法(GET,POST,PUT,DELETE...),但不比较定义,即我目前需要的主要东西。

提前致谢!

0 投票
2 回答
2430 浏览

typescript - OpenAPI 3 有官方的 Typescript 类型定义吗?

我找到了https://github.com/metadevpro/openapi3-ts/blob/master/src/model/OpenApi.ts这是 OpenAPI 3.x 的 Typescript 定义的一个版本,但我找不到OAS 3 的官方(又名肯定类型)类型定义文件。

有吗?

TIA

0 投票
1 回答
86 浏览

jhipster - 如何使用 openApiGenerator 对 jhipster 项目使用 gradlew 命令

我使用带有开放 apiGenerator 的 Jhipster 创建了我的应用程序,但我无法执行 gradlew 命令。

我做过的事情

1)我阅读了有关 open api generate 的文档,但我找不到删除错误有用的信息。2)我也无法从其他 SO 答案和谷歌中获得太多帮助下面是我的项目的链接

https://github.com/trustjalaj/DockerDemo

以及使用命令 ./gradlew 后得到的输出链接

https://scans.gradle.com/s/dbf3ed7aqoha6/

任何有经验的人都可以指导我如何成功运行 gradlew 命令。

提前谢谢。

0 投票
0 回答
214 浏览

java - 用于服务器存根的 OpenAPI 和 CLI 生成器工具

我熟悉 RESTful API,但是,我对 Swagger 和 Open API 不熟悉。我想澄清一下 openapi-generator-cli 等工具的作用以及如何充分利用这些工具。

使用OpenAPI的最新规范,很清楚如何设计 API。例如,我可以在 .yml 文件中编写我的 api。就我而言,我使用 Java 和 SpringBoot 作为我的语言,并且我有兴趣使用open-generator-cli从 .yml 文件创建服务器存根。

然后我可以将浏览器指向http://localhost:8080/swagger-ui.html#/。除了提供显示端点、参数、模型、响应和 curl 请求的漂亮文档之外,服务器存根还提供了哪些其他值?获取服务器代码并将其改编为生产代码库是否常见?然后随着 API 的变化,整个步骤可以更容易地重复吗?

0 投票
1 回答
10122 浏览

swagger - 不应该有额外的属性

我是 Open API 规范的新手(ia m 使用 3.0)。我正在使用 swagger Editor 在线工具,我收到一个奇怪的错误:

“不应该有额外的属性附加属性:Data1,Data2”

这是我正在使用的 YAML 文件的示例:

我已经看到所有提出的问题并尝试过这些问题,但我无法得到答案。 注意:我使用的是 Open Api 规范 3.0.1

0 投票
1 回答
323 浏览

graphql - OpenAPIv2(Swagger2) + GraphQL

我们构建了一个使用 OpenAPIv2 规范记录的 REST 服务。我们使用 swagger-codegen 进行代码生成并在 JAX-RS 上构建服务。我们希望将 GraphQL 添加到我们现有的 REST 服务中。寻找将 GraphQL 集成到现有 OpenAPI(Swagger)v2 规范中的最佳方法。非常感谢任何帮助或指示。谢谢

0 投票
1 回答
2404 浏览

java - Swagger 2 annotations - 地图的有意义的模式示例

这与Swagger 1 的另一个问题几乎相同,除了它与 Swagger 2 有关。

简而言之,我有一个我正在尝试注释以生成 OpenApi 3 规范的实现。其中一个模型有一个 map 属性,我想为它生成一个很好的有意义的样本。

例如,查看containerCreate Docker API,在 下HostConfig,有一个PortBindings对象,它有一个条目"22/tcp"

不幸的是,从我的来源生成的文档有点相似,但用处不大。尽管该PortBinding示例是正确且有用的,但"additionalProp1"实际上并没有任何意义:

HostConfig执行

PortBinding执行


我可以在其中粘贴一个 json 作为示例,但这似乎更像是一种 hack,它必须与地图中实际对象的结构保持同步:

除此之外,我不知道如何实现相同的目标,到目前为止, Swagger 示例并没有太大帮助。


最重要的是,有什么优雅的方法可以实现这一目标吗?

0 投票
0 回答
3242 浏览

gradle - 无法应用插件 [id 'org.openapi.generator']

构建.gradle

尝试应用此插件时出现异常。我尝试使用最新的 Gradle 4.10.2和旧版本4.2.1,以及该插件的多个版本。

例外

0 投票
0 回答
559 浏览

erlang - 如何使用 OpenAPI 生成器中的 erlang-server 存根?

我目前正在尝试使用 Erlang 开发 REST API。我使用 OpenAPI (Swagger) 来定义 API,并希望使用他们的openapi-generator来创建存根和一些帮助代码。这也有效并生成了一些代码,但我找不到任何关于我必须从那里做什么的文档。

为了解释我的问题,我将参考他们为 erlang-server 生成代码的示例输出

我目前有两个主要问题:

  • 我找不到代码的入口点(例如 ainit/0start/0函数)
  • 我不确定我必须实现哪个函数才能在每个端点上执行我的代码。我认为我必须实现handle_request,但执行路径对我来说似乎有点奇怪。

实现哪个功能

openapi_router 中,它们定义openapi_pet_handler'AddPet'. 在该模块中,有一个名为的函数handle_request_json,它尝试填充请求并在 OK 的情况下执行openapi_logic_handler:handle_request(LogicHandler, ...)

openapi_logic_handler:handle_request(Handler, ...)接受该处理程序并执行Handler:handle_request(OperationID, Req, Context).. 这使我得出结论,我可能必须openapi_pet_handler:handle_request使用我的自定义代码来实现。

如何启动服务器

我检查了代码,它似乎cowboy用作 Web 服务器。至少它cowboy在生成的openapi.app.src. 但是,在rebar.config里面并没有提到牛仔。

在牛仔教程中,他们使用 erlang.mk 来构建他们的项目。这允许他们使用make run. 对于钢筋,这似乎是不可能的。我没有找到用于 rebar 启动程序的特定命令。如果您使用钢筋,您似乎必须知道入口点(初始化函数)。

但是,我无法在生成的存根代码中找到任何看起来可能是 init 函数的函数。

概括

有人可以解释使用 openapi-generator 为 erlang-server 生成的存根需要做什么吗?我是否必须设置自己的牛仔项目,然后以某种方式将存根链接到其中?如果是,如何?

0 投票
1 回答
3785 浏览

swagger-2.0 - 如何使用 OpenApi Generator 为 java 生成一些模型?

Swagger/OpenApi v2.0我确实从使用中成功地在 java 中生成了一个 REST 客户端OpenApi Generator CLI 3.3.2-SNAPSHOT

但是我已经有一个 REST 客户端,所以我只想从规范中生成一些模型。

我运行时获得成功:

但是当我想生成特定的模型时

我收到此错误:

[main] INFO ooclanguages.AbstractJavaCodegen - 环境变量 JAVA_POST_PROCESS_FILE 未定义,因此 Java 代码的格式可能不正确。要定义它,请尝试 'export JAVA_POST_PROCESS_FILE="/usr/local/bin/clang-format -i"' (Linux/Mac)

这是什么 JAVA_POST_PROCESS_FILE 以及如何指定有效格式来生成模型?

为什么所有模型的代码生成成功但子集失败?