春にswagger code-genを使用してswagger.yamlファイルからコードを生成しました。Swagger code-genによって生成された更新コード
私のAPI用にswagger.yamlファイルを更新し、いくつかのHTTP操作を追加しました。
手動でマージすることなく以前に自動的に生成された既存のコードを更新することは可能ですか?
春にswagger code-genを使用してswagger.yamlファイルからコードを生成しました。Swagger code-genによって生成された更新コード
私のAPI用にswagger.yamlファイルを更新し、いくつかのHTTP操作を追加しました。
手動でマージすることなく以前に自動的に生成された既存のコードを更新することは可能ですか?
私はcodegenによって生成されたコントローラーについて話していると思います。それらは各世代の後に上書きされます。つまり、毎回変更を追加するコードを手動でマージする必要があります。は本当に迷惑なです。
私が見つけたベストワークフローは、interfaceOnly
オプションを使用してターゲットディレクトリにモデルクラスとインターフェイスクラスのみを生成し、それらのインターフェイスを実装するコントローラを手動で作成することでした。
API仕様ファイルをもう1つのGET操作で更新すると、インターフェイスはその新しい操作で再生成され、コントローラを調整してその新しいメソッドを実装するだけで済みます(最新のIDEではすばやく簡単です)。他のすべては同じままで、コードをもっと細かく制御できます(異なるフォルダのコントローラを分割するなど...)。ここで
は私がプラグインの使用configです:
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.2.3</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>./api-contract/petstore.yml</inputSpec>
<language>spring</language>
<configOptions>
<sourceFolder>swagger</sourceFolder>
<java8>true</java8>
<interfaceOnly>true</interfaceOnly>
</configOptions>
</configuration>
</execution>
</executions>
あなたが闊歩-codegenを-のmaven-pluginのhereで春のブートを使用して、完全なサンプルプロジェクトを確認することができます。
乾杯