Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
開発効率を上げるSwaggerの話
Search
ykagano
April 06, 2018
Programming
1.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
開発効率を上げるSwaggerの話
WEBエンジニア勉強会#06 発表資料
ykagano
April 06, 2018
More Decks by ykagano
See All by ykagano
購入ドメインでの課題と取り組み
ykagano
0
310
人気商品が「ちゃんと買える」をつくる ー ECの負荷改善
ykagano
1
290
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
950
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
1.5k
決済システムの信頼性を支える技術と運用の実践
ykagano
1
1.4k
Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips
ykagano
1
2.4k
プレイングマネージャーになったときの話
ykagano
2
1.5k
WEBエンジニアが知っておきたい決済の仕組み
ykagano
3
4k
プロジェクトにおけるリーダブルコードの考え方
ykagano
2
2.2k
Other Decks in Programming
See All in Programming
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
200
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
760
golang-bob.pdf
iwatsukayura
0
120
気持ちぃ〜角丸 Squircle
ryu1013
0
200
R8 の設定見直しでアプリサイズ削減
andpad
0
200
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
phperだってパンチカードでコーディングしたい
o0h
PRO
0
260
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
370
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
400
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
360
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
250
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Designing for Timeless Needs
cassininazir
1
520
Design in an AI World
tapps
1
350
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
How GitHub (no longer) Works
holman
316
150k
The SEO Collaboration Effect
kristinabergwall1
1
590
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
930
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Paper Plane
katiecoart
PRO
4
54k
Transcript
開発効率を上げる Swaggerの話 @ykagano
1 ▪⾦融系のエンジニアです • SIerの会社 : 電⼦マネーシステムの受託開発 • 電⼦マネーの会社 : Web/スマホアプリ開発・企画
• Web系の会社 : 決済関連のWeb開発 イマココ 加賀野 祐@ykagano
開発効率を上げる Swaggerの話 1. はじめに 2. まず動かしてみる 3. Swagger YAMLを⾒る 4.
APIモックを作る 5. さいごに 2
突然ですが開発に疲れてませんか? 3
Swaggerを使うとこれだけ楽になります 4 ・REST APIの仕様を⾒るのが楽 ・REST APIの実⾏ツールを作るのが楽 ・REST APIの仕様を書くのが楽 ・REST APIのモックを作るのが楽
ということを聞いて⾊々調べたので ここで発表します 5 内容が間違っていたらあとでこっそり教えてください
開発効率を上げる Swaggerの話 1. はじめに 2. まず動かしてみる 3. Swagger YAMLを⾒る 4.
APIモックを作る 5. さいごに 6
Swagger-Editorというオンラインツールを使います 7 まず動かしてみる http://editor.swagger.io/ ※httpsは標準のサンプルがクロスドメインで動かなかった
8 左のウィンドウにyaml形式でAPIの仕様を書くと 右のウィンドウに仕様書がリアルタイムで反映されます
書き上がったら「Generate Server」から ⽣成するサーバーアプリケーションを選択します ここではサクッと動かすため「nodejs-server」を選択します 9
ダウンロードしたzipを解凍して Terminalから解凍したフォルダ内に移動します 10 サーバーが起動しました
11 http://localhost:8080/docs をブラウザで開く 仕様書が⾒える
12 APIが叩ける
元々サンプルとして⽤意されている 13 http://petstore.swagger.io/v2/pet/1 をローカルサーバーから叩いています http://petstore.swagger.io/ を開くとサンプルAPIの仕様書が⾒れます
14 ・REST APIの仕様を⾒るのが楽 ✅ ・REST APIの実⾏ツールを作るのが楽 ✅ ・REST APIの仕様を書くのが楽 ・REST
APIのモックを作るのが楽 ここまでで2つクリア
開発効率を上げる Swaggerの話 1. はじめに 2. まず動かしてみる 3. Swagger YAMLを⾒る 4.
APIモックを作る 5. さいごに 15
16 1. メタデータとサーバー情報の記述 2. エンドポイントの記述 3. モデル定義の記述 サンプルを削ったので⾒ていきます yamlにはざっくりこの3点を書きます
17 1. メタデータとサーバー情報の記述
18 2. エンドポイントの記述
19 3. モデル定義の記述
20 ほら簡単でしょ?
21 ・REST APIの仕様を⾒るのが楽 ✅ ・REST APIの実⾏ツールを作るのが楽 ✅ ・REST APIの仕様を書くのが楽 ✅
・REST APIのモックを作るのが楽 ここまでで3つクリア
開発効率を上げる Swaggerの話 1. はじめに 2. まず動かしてみる 3. Swagger YAMLを⾒る 4.
APIモックを作る 5. さいごに 22
突然ですがオンラインツールだと セキュリティに不安がありませんか? 23
当たり前ですが オフライン版もあります 24 公式 https://swagger.io/swagger-editor/ ソース https://github.com/swagger-api/swagger-editor
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 あとはオンラインエディタと 使い⽅は同じです
26 ホスト名を書かなければlocalhostが APIサーバーになります
27 APIを叩くと常に同じレスポンスが返ります
28 レスポンスを変えるには yamlでexampleを指定するか seviceフォルダのjsを直接編集します
29 ・REST APIの仕様を⾒るのが楽 ✅ ・REST APIの実⾏ツールを作るのが楽 ✅ ・REST APIの仕様を書くのが楽 ✅
・REST APIのモックを作るのが楽 ✅ これで全部クリア
開発効率を上げる Swaggerの話 1. はじめに 2. まず動かしてみる 3. Swagger YAMLを⾒る 4.
APIモックを作る 5. さいごに 30
今⽇の話はあくまで基本的な使い⽅です REST APIのソースコードにアノテーションを記述して ・ソース=ドキュメント ・ソース=実⾏ツール にしたりもできる(らしい それでは 31
32