Spring Day 2016 Lightning Talk http://springday2016.springframework.jp
Swagger × Spring Cloud@int128(Hidetake Iwata)
View Slide
Open API Specification / SwaggerREST APIの仕様をJSONやYAMLで記述できる。ツールセットが提供されている。● Swagger Editor(エディタ)● Swagger UI(APIコンソール)● Swagger Codegen(コード自動生成)
Swagger CodegenSwagger YAMLからいろんな言語のソースコードを自動生成するツール。JARで提供されている。● Java● Node.js● PHP● などなど※逆に、アノテーションからAPI仕様を生成する方法もある
Swagger Codegen × Spring以下のテンプレートを選択できる:1. spring-mvc○ APIサーバのControllerとModelが自動生成される○ Spring MVC2. spring-cloud○ APIクライアントのClientとModelが自動生成される○ Spring Cloud Feign
自動生成コードの取り扱い自動生成されたコードは変更しない。JARに切り出して、ビルドツールで依存関係を張る。地獄のパターン:● 自動生成されたコードをいじる(ControllerやModel)● API仕様が変わる● コードに変更を取り込む?
自動生成コード:● Controllerクラス○ ServiceクラスをDIしてメソッド実行○ テンプレートをカスタマイズ● Modelクラス実装コード:● Serviceクラス:ビジネスロジックを実装自動生成コードと実装コードをDIで分離
Gradle Swagger Generator PluginSwagger YAMLからソースコードやドキュメントを生成https://github.com/int128/gradle-swagger-generator-plugin
Thank you
2002年2003年2004年2005年Spring 1.0がリリースされたのはいつ?