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
700
GolangでAPIドキュメント自動生成
社内LT
Masaki Iino
November 17, 2017
Tweet
Share
More Decks by Masaki Iino
See All by Masaki Iino
GCP Composer
iinomasaki
0
240
AnyPay ChatOps
iinomasaki
0
1.2k
Istio
iinomasaki
0
1.6k
LT_Cloud_Functions.pdf
iinomasaki
1
560
Other Decks in Technology
See All in Technology
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
420
問題解決に役立つ数理工学
recruitengineers
PRO
8
2.3k
セマンティックレイヤー入門
ikkimiyazaki
9
3.3k
Enterprise AI in 2025?
pamelafox
0
110
Cloud Native PG 使ってみて気づいたことと最新機能の紹介 - 第52回PostgreSQLアンカンファレンス
seinoyu
2
240
OPENLOGI Company Profile
hr01
0
61k
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
210
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
130
ウェブアクセシビリティとは
lycorptech_jp
PRO
0
320
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
120
TopAppBar Composableをカスタムする
hunachi
0
140
LINE Notify互換のボットを作った話
kenichirokimura
0
180
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Visualization
eitanlees
146
16k
GraphQLとの向き合い方2022年版
quramy
45
14k
Designing for Performance
lara
606
69k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Site-Speed That Sticks
csswizardry
4
450
Statistics for Hackers
jakevdp
798
220k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
51
2.4k
Facilitating Awesome Meetings
lara
53
6.3k
A better future with KSS
kneath
238
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
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 でタイポも防げる • 楽できる