c# - 如何从 Swagger 1.2 规范生成 C# 客户端?

标签 c# .net code-generation swagger

每个平台似乎都有数百万种选择,但我正在努力寻找适用于 C# 的简单解决方案。我发现的所有这些似乎都给我带来了麻烦:它们要么根本不起作用(例如 http://swaggercodegen.azurewebsites.net/ ),要么只支持 2.0(例如 AutoRestNSwag )。一半的工具甚至不清楚它们支持什么版本:-(

我知道 official tool ,但这需要 JDK 7,目前我无法选择它。

无奈之下,我什至尝试过将 swagger 规范转换为 2.0,但是我尝试过的转换工具有一半没有用,给出的建议相互矛盾,或者我不知道如何使用(我发现自己对 nodejs 深有体会很快...这真的是美丽的新世界吗?!带回 WSDL ;-))。

最佳答案

您可以使用在线 swagger codegen 创建客户端而无需安装任何东西:

https://generator.swagger.io/

您可以选择 POST/gen/clients/{language} 并输入如下正文:

{
  "options": {},
  "swaggerUrl": "http://petstore.swagger.io/v2/swagger.json"
}

输入您自己的 URL 以访问规范。如果您需要传递任何选项,您可以将它们放在 options 散列中。 C# 的可用选项列表也可从生成器中获得:

https://generator.swagger.io/api/gen/clients/csharp-dotnet2

{
  "packageName": {
    "opt": "packageName",
    "description": "C# package name (convention: Camel.Case).",
    "type": "string",
    "default": "IO.Swagger"
  },
  "packageVersion": {
    "opt": "packageVersion",
    "description": "C# package version.",
    "type": "string",
    "default": "1.0.0"
  },
  "clientPackage": {
    "opt": "clientPackage",
    "description": "C# client package name (convention: Camel.Case).",
    "type": "string",
    "default": "IO.Swagger.Client"
  }
}

关于c# - 如何从 Swagger 1.2 规范生成 C# 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35986329/

相关文章:

c# - 带有 orderby 子句的 linq 查询的返回类型不一致

c# - AADSTS50020 : We are unable to issue tokens from this api version for a Microsoft account

c# - 嵌套控件结构 - 使用 XAML 还是 C#?

Flutter Injectable 工厂未注册错误

algorithm - 通过遗传算法生成代码

c# - 为什么检查这个 != null?

c# - 如何判断 FTP 目录是否存在

c# - 当 Dll 位于单独的文件夹中时免注册 COM

.net - 如何分别渲染用户控件

java - 在 evosuite 测试用例生成中使用 ProjectCP 通配符