是否可以使用 swagger codegen 为 .Net4.0 生成客户端?

Is it possible to use swagger codegen to generate a client for .Net4.0?

我是 C# 和 Swagger 的新手,我想知道是否可以使用 swagger codegen 为 .Net4.0 生成客户端?在查看了 CSharpClientCodegen class 之后,我设法让 swagger codegen 为 .Net3.5 生成了一个客户端,但是 build.bat 失败了 src\IO.Swagger\Model\User.cs(53,193): error CS0241: default parameter specifiers are not permitted. 现在我卡住了,不知道还有什么我可以试试。

对于我的项目,我需要使用.Net4.0,因此我需要生成一个.Net4.0 客户端。有没有办法生成这样的客户端?

你好,Stefi

看看NSwag,它会为你生成 CSharp 和 Typescript 客户端代码。

目前,Swagger Codegen C# 客户端生成器支持以下框架:

targetFramework
    The target .NET framework version. (Default: v4.5)
        v3.5 - .NET Framework 3.5 compatible
        v4.5 - .NET Framework 4.5+ compatible
        v5.0 - .NET Standard 1.3 compatible
        uwp - Universal Windows Platform (IMPORTANT: this will be decommissioned and replaced by v5.0)

(参考:java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar config-help -l csharp)

如果您正在寻找目前尚不支持的特定框架或 .net 版本,请通过 https://github.com/swagger-api/swagger-codegen/issues/new 提交工单,我们会进行调查。

更新:2018 年 5 月,大约 50 名 Swagger Codegen 的顶级贡献者和模板创建者决定分叉 Swagger Codegen 以维护名为 OpenAPI Generator. Please refer to the Q&A 的社区驱动版本以获取更多信息。

更新这个答案是因为虽然 William Cheng 的答案是正确的,但 swagger-codegen-cli 的输出现在已经过时并且现在支持 v4.0。

java -jar swagger-codegen-cli.jar config-help -l csharp

现在将输出以下内容(从版本 3.0.22 开始)

targetFramework
    The target .NET framework version. (Default: v4.5)
        v3.5 - .NET Framework 3.5 compatible
        v4.0 - .NET Framework 4.0 compatible
        v4.5 - .NET Framework 4.5+ compatible
        v5.0 - .NET Standard 1.3 compatible
        uwp - Universal Windows Platform (IMPORTANT: this will be decommissioned and replaced by v5.0)