開発効率を上げるSwaggerの話
by
ykagano
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の話 @ykagano
Slide 2
Slide 2 text
1 ■⾦融系のエンジニアです • SIerの会社 : 電⼦マネーシステムの受託開発 • 電⼦マネーの会社 : Web/スマホアプリ開発・企画 • Web系の会社 : 決済関連のWeb開発 イマココ 加賀野 祐@ykagano
Slide 3
Slide 3 text
開発効率を上げる Swaggerの話 1. はじめに 2. まず動かしてみる 3. Swagger YAMLを⾒る 4. APIモックを作る 5. さいごに 2
Slide 4
Slide 4 text
突然ですが開発に疲れてませんか? 3
Slide 5
Slide 5 text
Swaggerを使うとこれだけ楽になります 4 ・REST APIの仕様を⾒るのが楽 ・REST APIの実⾏ツールを作るのが楽 ・REST APIの仕様を書くのが楽 ・REST APIのモックを作るのが楽
Slide 6
Slide 6 text
ということを聞いて⾊々調べたので ここで発表します 5 内容が間違っていたらあとでこっそり教えてください
Slide 7
Slide 7 text
開発効率を上げる Swaggerの話 1. はじめに 2. まず動かしてみる 3. Swagger YAMLを⾒る 4. APIモックを作る 5. さいごに 6
Slide 8
Slide 8 text
Swagger-Editorというオンラインツールを使います 7 まず動かしてみる http://editor.swagger.io/ ※httpsは標準のサンプルがクロスドメインで動かなかった
Slide 9
Slide 9 text
8 左のウィンドウにyaml形式でAPIの仕様を書くと 右のウィンドウに仕様書がリアルタイムで反映されます
Slide 10
Slide 10 text
書き上がったら「Generate Server」から ⽣成するサーバーアプリケーションを選択します ここではサクッと動かすため「nodejs-server」を選択します 9
Slide 11
Slide 11 text
ダウンロードしたzipを解凍して Terminalから解凍したフォルダ内に移動します 10 サーバーが起動しました
Slide 12
Slide 12 text
11 http://localhost:8080/docs をブラウザで開く 仕様書が⾒える
Slide 13
Slide 13 text
12 APIが叩ける
Slide 14
Slide 14 text
元々サンプルとして⽤意されている 13 http://petstore.swagger.io/v2/pet/1 をローカルサーバーから叩いています http://petstore.swagger.io/ を開くとサンプルAPIの仕様書が⾒れます
Slide 15
Slide 15 text
14 ・REST APIの仕様を⾒るのが楽 ✅ ・REST APIの実⾏ツールを作るのが楽 ✅ ・REST APIの仕様を書くのが楽 ・REST APIのモックを作るのが楽 ここまでで2つクリア
Slide 16
Slide 16 text
開発効率を上げる Swaggerの話 1. はじめに 2. まず動かしてみる 3. Swagger YAMLを⾒る 4. APIモックを作る 5. さいごに 15
Slide 17
Slide 17 text
16 1. メタデータとサーバー情報の記述 2. エンドポイントの記述 3. モデル定義の記述 サンプルを削ったので⾒ていきます yamlにはざっくりこの3点を書きます
Slide 18
Slide 18 text
17 1. メタデータとサーバー情報の記述
Slide 19
Slide 19 text
18 2. エンドポイントの記述
Slide 20
Slide 20 text
19 3. モデル定義の記述
Slide 21
Slide 21 text
20 ほら簡単でしょ?
Slide 22
Slide 22 text
21 ・REST APIの仕様を⾒るのが楽 ✅ ・REST APIの実⾏ツールを作るのが楽 ✅ ・REST APIの仕様を書くのが楽 ✅ ・REST APIのモックを作るのが楽 ここまでで3つクリア
Slide 23
Slide 23 text
開発効率を上げる Swaggerの話 1. はじめに 2. まず動かしてみる 3. Swagger YAMLを⾒る 4. APIモックを作る 5. さいごに 22
Slide 24
Slide 24 text
突然ですがオンラインツールだと セキュリティに不安がありませんか? 23
Slide 25
Slide 25 text
当たり前ですが オフライン版もあります 24 公式 https://swagger.io/swagger-editor/ ソース https://github.com/swagger-api/swagger-editor
Slide 26
Slide 26 text
Editorをインストールして起動します 25 // git cloneだと重かったので、配布URLからzipでwget $ wget https://codeload.github.com/swagger-api/swagger-editor/zip/master $ unzip master $ cd swagger-editor-master $ npm install $ npm start あとはオンラインエディタと 使い⽅は同じです
Slide 27
Slide 27 text
26 ホスト名を書かなければlocalhostが APIサーバーになります
Slide 28
Slide 28 text
27 APIを叩くと常に同じレスポンスが返ります
Slide 29
Slide 29 text
28 レスポンスを変えるには yamlでexampleを指定するか seviceフォルダのjsを直接編集します
Slide 30
Slide 30 text
29 ・REST APIの仕様を⾒るのが楽 ✅ ・REST APIの実⾏ツールを作るのが楽 ✅ ・REST APIの仕様を書くのが楽 ✅ ・REST APIのモックを作るのが楽 ✅ これで全部クリア
Slide 31
Slide 31 text
開発効率を上げる Swaggerの話 1. はじめに 2. まず動かしてみる 3. Swagger YAMLを⾒る 4. APIモックを作る 5. さいごに 30
Slide 32
Slide 32 text
今⽇の話はあくまで基本的な使い⽅です REST APIのソースコードにアノテーションを記述して ・ソース=ドキュメント ・ソース=実⾏ツール にしたりもできる(らしい それでは 31
Slide 33
Slide 33 text
32