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
GolangでAPIドキュメント自動生成
Search
Masaki Iino
November 17, 2017
Technology
0
750
GolangでAPIドキュメント自動生成
社内LT
Masaki Iino
November 17, 2017
Tweet
Share
More Decks by Masaki Iino
See All by Masaki Iino
GCP Composer
iinomasaki
0
250
AnyPay ChatOps
iinomasaki
0
1.2k
Istio
iinomasaki
0
1.6k
LT_Cloud_Functions.pdf
iinomasaki
1
580
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
Phase06_ClaudeCode実践
overflowinc
0
260
「通るまでRe-run」から卒業!落ちないテストを書く勘所
asumikam
2
420
NewSQL_ ストレージ分離と分散合意を用いたスケーラブルアーキテクチャ
hacomono
PRO
4
420
【Λ(らむだ)】最近のアプデ情報 / RPALT20260318
lambda
0
120
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
140
Laravelで学ぶOAuthとOpenID Connectの基礎と実装
kyoshidaxx
4
1.4k
進化するBits AI SREと私と組織
nulabinc
PRO
1
280
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
290
Kiro Powers 入門
k_adachi_01
0
130
ReactのdangerouslySetInnerHTMLは“dangerously”だから危険 / Security.any #09 卒業したいセキュリティLT
flatt_security
0
370
めちゃくちゃ開発するQAエンジニアになって感じたメリットとこれからの課題感
ryuhei0000yamamoto
0
210
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Mind Mapping
helmedeiros
PRO
1
130
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
570
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
200
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
420
Design in an AI World
tapps
0
170
For a Future-Friendly Web
brad_frost
183
10k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
Building Adaptive Systems
keathley
44
3k
Accessibility Awareness
sabderemane
0
84
Transcript
GolangでAPIドキュメント自動 生成 2017/11/17 飯野 雅希
APIドキュメント書いてますか?
APIドキュメントは書くのが大変 • Host • Path • HTTPメソッド • Request Header,
Body • Query Parameter • Response Status Code • Response Header, Body • etc...
書き手と読み手が違う • 書くのはサーバーエンジニア • 読むのはフロント・クライアントエンジニア
APIドキュメンテーションツール • Swagger • apiblueprint
API Blueprint • Markdownを使って定義を書く ◦ 拡張子は.apib • Markdownそのままでも読みやすい
API Blueprint • 基本情報 ◦ タイトル ◦ ホスト • グループ
• endopoint情報 ◦ HTTPメソッド ◦ endpoint ◦ リクエスト ◦ パラメータ ◦ レスポンス
読みやすく高機能
だけど、手書きで管理し続けるのは大変
ドキュメントを自動生成しよう 要件 • Golangでコード書いたらapiblueprintでドキュメント自動生成 • apibファイルだとviewerがいるので、HTMLに変換
apiblueprint生成 test2doc:https://github.com/adams-sarah/test2doc • GolangのPackage • Star 236 • Unitテストと組み合わせると自動でAPIドキュメントを生成してくれる
test2doc
test2doc
HTMLに変換 Gulpスクリプトで変換 https://storage.googleapis.com/iino-test-api-doc-test/out.html
所感 • 自動で生成されるのでコードとドキュメントの乖離がなくなる • Go lint/vet でタイポも防げる • 楽できる