Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
開発効率を上げるSwaggerの話
Search
ykagano
April 06, 2018
Programming
0
1.4k
開発効率を上げるSwaggerの話
WEBエンジニア勉強会#06 発表資料
ykagano
April 06, 2018
Tweet
Share
More Decks by ykagano
See All by ykagano
Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips
ykagano
1
1.7k
プレイングマネージャーになったときの話
ykagano
2
1.4k
WEBエンジニアが知っておきたい決済の仕組み
ykagano
2
3.6k
プロジェクトにおけるリーダブルコードの考え方
ykagano
2
2.1k
GWにスマートスピーカーアプリを作ってみた
ykagano
1
1.2k
Other Decks in Programming
See All in Programming
あのころの iPod を どうにか再生させたい
orumin
2
2.4k
パスタの技術
yusukebe
1
270
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
21
10k
Google I/O Extended Incheon 2025 ~ What's new in Android development tools
pluu
1
260
Portapad紹介プレゼンテーション
gotoumakakeru
1
120
The State of Fluid (2025)
s2b
0
120
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
120
AHC051解法紹介
eijirou
0
410
0から始めるモジュラーモノリス-クリーンなモノリスを目指して
sushi0120
0
280
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
200
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
12
2.5k
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
600
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
51
8.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
For a Future-Friendly Web
brad_frost
179
9.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Visualization
eitanlees
146
16k
Bash Introduction
62gerente
614
210k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Site-Speed That Sticks
csswizardry
10
770
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
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