gpt4 book ai didi

.net-core - 多个 api 版本的单个客户端

转载 作者:行者123 更新时间:2023-12-05 04:54:25 27 4
gpt4 key购买 nike

我正在使用 openapi-generator 使用类似于下面的命令从 swagger json 生成 api 客户端

openapi-generator generate -i http://localhost:5001/swagger/v1/swagger.json -g csharp-netcore -c config.json

是否可以使用开放式 api 生成器为多个版本的 Api 生成单个客户端。

http://localhost:5001/swagger/v1/swagger.json
http://localhost:5001/swagger/v2/swagger.json

我查看了文档,但找不到相同的引用资料。对相同或其他替代方案的任何帮助。我正在使用 .net 核心框架创建我的 api - 对于生成客户端并不重要,但如果它以任何方式提供帮助,则作为信息。

最佳答案

嗯,是的,不是。您基本上在两个不同的文件中有两个 API 定义。此外,这些文件包含相似但不完全相同的 API 定义:一些参数是新的,一些旧实体有新成员(或者更糟的是,丢失了一些成员)。有些方法可能不存在。您可能会在这里遇到兼容性问题,因此两个不同版本的相同代码库甚至可能是不可能的。根据 API 和您的要求,您可以自动化一些事情:

  • 您可以编写一个批处理文件,从这两个 API 生成代码并将生成的数据复制到您的项目中,例如进入 V1 和 V2 文件夹,您可以从中访问生成的代码。
  • 根据您的 API,您可能已经对生成的代码的外观有所了解。您可以访问 Swagger Codegen 项目中的 mustache 模板文件并修改它们。因此生成的代码将完全满足的需求。这对于一个时间跨度很长的大项目来说很有意义,因为这项工作会带来返回。

编辑:还有,为什么您需要一个客户端用于多个版本?我可以想象单个服务器支持多个版本,但是客户端呢?只使用最新版本不是更好吗?

关于.net-core - 多个 api 版本的单个客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65769827/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com