【问题标题】:Automate update REST API Client during build在构建期间自动更新 REST API 客户端
【发布时间】:2016-08-15 15:11:03
【问题描述】:

我的公司正在寻求使用 Azure API 应用程序来实施应用程序。客户端应用程序将使用位于 Azure 门户中的 Swagger 文档创建 REST API 客户端。发布服务时,对 Azure API 应用程序的任何更改都会导致更新 Swagger 文档。

有没有办法自动下载服务的 swagger 文档,以便可以在构建过程中重建/更新 REST API 客户端(例如,类似于预构建步骤)?

感谢您的帮助。

【问题讨论】:

  • 你现在用什么工具来生成客户端?
  • 现在是手动过程:使用Visual Studio 2015,右键项目,选择Add -> REST API Client,然后手动指定Swagger文档url。
  • 如果您有 swagger 文档的 URL,您可以考虑使用swagger codegen 在线生成 REST API 客户端(例如 C#、Ruby、ObjC、Swift、Typescript 等)。

标签: c# visual-studio-2015 swagger


【解决方案1】:

Visual Studio 的Add / Rest Api Client... 选项使用AutoRest 库进行代码生成。您可以将此工具下载为NuGet package,并使用AutoRest.exe 命令行工具生成输出。

例如:

AutoRest.exe -CodeGenerator CSharp -Modeler Swagger -Input https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v2.0/json/petstore-simple.json -Namespace MyNamespace

另一种方法是使用Swagger codegen library。这是一个基于java的命令行工具,也可以生成一些C#代码。

【讨论】:

  • 我一定会调查的。谢谢你的信息,@Tóth Tibor。
  • 继续:这至少在某种程度上有效。使用此方法会导致一些未解析的引用(例如 NewtonSoft.Json 方法)。原始方法可以很好地解决所有问题。我会继续这样做,看看是否还有更多可以做的事情。
猜你喜欢
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
  • 2021-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-09
相关资源
最近更新 更多