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

问题描述 投票:9回答:1

每个平台似乎都有数以百万计的选择,但我很难找到一个简单的C#解决方案。我发现的所有这些似乎给了我麻烦:要么他们根本不工作(例如http://swaggercodegen.azurewebsites.net/),要么只支持2.0(例如AutoRestNSwag)。一半的工具甚至不清楚它们支持的版本:-(

我知道official tool,但这需要JDK 7,这对我来说当前不是一个选择。

在绝望中我甚至尝试将swagger规范转换为2.0,但是我试过的一半转换工具不起作用,给出了相互矛盾的建议,或者我无法弄清楚如何使用(我发现自己很快陷入了nodejs。 ..这真的是一个勇敢的新世界吗?!带回WSDL ;-))。

c# .net code-generation swagger
1个回答
5
投票

您可以使用在线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"
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.