Swagger Codegenではコード生成のテンプレートをカスタマイズできますが、ライブラリに spring-cloud
を選んだ場合はカスタマイズの仕方に注意が必要です。
springのテンプレート構造は以下になります。
- template/
- api.mustache ←すべてのライブラリで共通のテンプレート
- ...
- libraries/
- spring-mvc/
- spring-boot/
- spring-cloud/
- apiClient.mustache ←spring-cloud固有のテンプレート
- ...
spring-cloud直下のapiClient.mustacheを変更しても、なぜかコードに反映されません。そこで、libraries直下にapiClient.mustacheをコピーして変更すると、コードに反映されるようになりました。
- template/
- api.mustache ←すべてのライブラリで共通のテンプレート
- apiClient.mustache ←ここに配置するとカスタマイズが効く
- libraries/
- ...
- spring-mvc/
- spring-boot/
- spring-cloud/
- apiClient.mustache ←ここを編集してもカスタマイズが効かない
- ...
罠にはまったので参考になれば幸いです。