2015-09-23 65 views
1

我正在学习使用swagger code gen从swagger.json文件生成一堆csharp文件。如何在swigger code gen工具中创建一个包以及api和model包

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

我尝试添加以下代码

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

} 

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

不知道如何做到这一点。如果你能指点我如何做到这一点的资源,那将是非常好的。

感谢

回答

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

提交210
+0

你从哪里得到语言选项?我没有看到它在项目文档中的任何地方列出。 –

+0

这会有帮助吗? https://github.com/swagger-api/swagger-codegen/#getting-started –

+0

是的,我猜这有帮助。如果他们列出受支持的客户端语言和框架而不是命令行帮助,那将会很好。我不得不深入他们的回购,以发现他们使用RestSharp框架生成csharp。 –