2016-05-11 20 views
0

swagger-codegenを使用して、クライアントサイドのC#クラスを生成しています。それは仕事ですが、私はカスタマイズしたいことがいくつかあります:Swagger-Codegenのカスタム設定

1)最も重要なのは、どのネームスペースか、おそらくベースネームスペースに、どのように使用するかを教えてください。今、すべてのgennedクラスにはIO.Swagger.Modelという名前空間がありますが、どうすれば変更できますか?

2)私の生成されたモデルはすべて、ICustomerのように...私はクラス名が2桁で始まり、最初の文字がIですか?

3)2を実行できる場合は、次のように追加する方法がありますか:IWhatever?それは世代ICustomerにしようとしているのであれば、私が見てみたいと思います:

public class Customer : ICustomer 

はこれを行うことができますか?私の最後の質問については

4)は、私は、このコマンドラインを使用しています:

java -jar swagger-codegen-cli.jar generate 
    -i http://localhost:57772/MyService/swagger/v1/swagger.json 
    -l csharp -o C:/Code/AutoGenned/MyService 

問題は、それがパスにこれを追加していることである:メインの\ CSHARP \ SRC \ IO \闊歩

これをパスに追加しない方法がありますか? ApiClientModel、及びProperties

5)最後に、そして最も重要なのは、それは4つのフォルダをGENS。 ClientModelのフォルダのみを作成する方法はありますか?

答えて

3

swagger-codegenチームと私自身しようとスタッフouotからの応答を得ることに基づい:今

{ 
    "packageName": "My.Namespace.Whatever" 
} 

:名前空間を修正するには

1)、私は基本的にこれを持ってconfig.jsonファイルを作成する必要がありましたが私のrunコマンドは置き換えることはできませんが、私が先頭に追加することができます...ので、代わりにICustomer Iデという名前のクラスを持つの)

java -jar swagger-codegen-cli.jar generate 
    -i http://localhost:57772/MyService/swagger/v1/swagger.json 
    -l csharp -o C:/Code/AutoGenned/MyService 
    -c config.json 

2でありますApiICustomerは、より多くの意味を成していることcided ...上記のコマンドのように、私はこれが可能であるか/もしまだわからない)

--model-name-prefix Api 

3を追加しました。

4)これがどのように動作するかを変更する新しい変更がパイプを下っているように見えます。ここでの情報に基づいてhttps://github.com/swagger-api/swagger-codegen/issues/2837

5):https://github.com/swagger-api/swagger-codegen#selective-generationあなたはこのjava -Dwhateverpropertyのように、javaシステムプロパティを追加することによってそれを行うことができます。だから、#3のいずれかの修正を含まない最終結果は、次のとおりです。ポイント1の場合

java -Dmodels -DsupportingFiles -jar swagger-codegen-cli.jar generate 
    -i http://localhost:57772/MyService/swagger/v1/swagger.json 
    -l csharp -o C:/Code/AutoGenned/MyService 
    -c C:/Code/SwaggerCodeGen/config.json 
    --model-name-prefix Api 
0

)、設定ファイル(-c config.json)を使用する以外に、

あなたも直接オプションを使用することができます。-DpackageName=My.Namespace.Whatever

関連する問題