Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Swagger × Spring Cloud @int128 (Hidetake Iwata)
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
Open API Specification / Swagger REST APIの仕様をJSONやYAMLで記述できる。 ツールセットが提供されている。 ● Swagger Editor(エディタ) ● Swagger UI(APIコンソール) ● Swagger Codegen(コード自動生成)
Slide 4
Slide 4 text
Swagger Codegen Swagger YAMLからいろんな言語のソースコードを自動生成する ツール。JARで提供されている。 ● Java ● Node.js ● PHP ● などなど ※逆に、アノテーションからAPI仕様を生成する方法もある
Slide 5
Slide 5 text
Swagger Codegen × Spring 以下のテンプレートを選択できる: 1. spring-mvc ○ APIサーバのControllerとModelが自動生成される ○ Spring MVC 2. spring-cloud ○ APIクライアントのClientとModelが自動生成される ○ Spring Cloud Feign
Slide 6
Slide 6 text
自動生成コードの取り扱い 自動生成されたコードは変更しない。 JARに切り出して、ビルドツールで依存関係を張る。 地獄のパターン: ● 自動生成されたコードをいじる(ControllerやModel) ● API仕様が変わる ● コードに変更を取り込む?
Slide 7
Slide 7 text
自動生成コード: ● Controllerクラス ○ ServiceクラスをDIしてメソッド実行 ○ テンプレートをカスタマイズ ● Modelクラス 実装コード: ● Serviceクラス:ビジネスロジックを実装 自動生成コードと実装コードをDIで分離
Slide 8
Slide 8 text
Gradle Swagger Generator Plugin Swagger YAMLからソースコードやドキュメントを生成 https://github.com/int128/gradle-swagger-generator-plugin
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
Thank you
Slide 13
Slide 13 text
2002年 2003年 2004年 2005年 Spring 1.0がリリースされたのはいつ?