除了api和model包之外,如何在swagger代码生成工具中创建包

时间:2015-09-23 18:31:01

标签: c# rest swagger swagger-2.0 swagger-codegen

我正在学习使用swagger code gen从swagger.json文件生成一堆csharp文件。

在CSharpClientCodeGen.class中,我注意到有apiPackage和modelPackage的变量可以在其中生成Api和Model cs文件。我想创建一个类似于apiPackage和modelPackage的新包。

我尝试添加以下代码

public class csharpcodegen extends CSharpClientCodeGen
{
protected String newPackage="IO.Swagger.New";

}

然后构建了客户端代码,但我没有在那里看到新的包文件夹。

不知道该怎么做。如果你能指出我如何做到这一点的资源,那就太好了。

由于

1 个答案:

答案 0 :(得分:2)

如果要自定义程序包名称,可以将配置文件(例如config.json)传递给swagger-codegen。以下是C#代码生成器可用的配置选项的完整列表:

swagger-codegen|master⚡ ⇒ java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar config-help -l csharp

CONFIG OPTIONS
    packageName
        C# package name (convention: Camel.Case), default: IO.Swagger

    packageVersion
        C# package version, default: 1.0.0

例如,要生成C#SDK,请按如下方式准备配置文件

{
  "packageName": "Com.RestUnited",
}

然后运行以下命令:

  java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
  -i /var/tmp/swagger_spec.yaml \
  -l csharp \
  -o /var/tmp/csharp/test/ \
  -c /var/tmp/csharp.json

要请求有关自定义C#SDK的新选项,请通过Github提交page