4

すべてのファイルが Go クライアント ジェネレーターによって作成された後にフックを追加しようとしていますが、これをどこに追加できるのか疑問に思っています。

現在、ファイルは次の順序で生成されます (a) モデル (b) API パス (c) サポート ファイル。

AbstractGoCodegenpostProcessSupportingFileData関数にそのようにフックするmyfunc()と、サポート ファイルが作成される前に呼び出されますが、後で関数を呼び出す必要があります。README.mdclient.go

@Override
public Map<String, Object> postProcessSupportingFileData(Map<String, Object> objs) {
    generateYAMLSpecFile(objs);
    objs = super.postProcessSupportingFileData(objs);
    myfunc();
    return objs;
}

postProcessing*に示すように、他のいくつかの機能も試しましたが、期待どおりに機能DefaultCodegenしませんでした。

これどうやってするの?

4

1 に答える 1

0

構成メソッドをオーバーライドしても目的の機能が得られない場合は、DefaultGeneratorクラスを拡張することをお勧めします。これらには、 などの実際の生成メソッドが含まれていgenerateSupportingFilesます。このメソッドがサポート ファイルを生成した後、フックを簡単に追加できるはずです。

いくつかの修飾子を private から protected に変更しなければならない場合があることに注意してください。

于 2018-10-16T08:06:08.410 に答える