開発者ライフハック:APIドキュメントを手書きするムダ時間をゼロにした方法
この記事では、ドキュメント作成を変革し、開発者の仕事のやり方を変えているEchoAPIについて探っていきます。
APIの開発において、開発者が最も苦痛と感じることの一つがAPIドキュメントの作成です。時間もかかり、ミスもしやすいこの作業に、ベテラン開発者でさえうんざりするものです。しかし、もしそのプロセスを単なるワンクリックで済ませられるツールがあったらどうでしょうか?この記事では、ドキュメント作成を変革し、開発者の仕事のやり方を変えているEchoAPIについて探っていきます。
オレ、ジョシュ。
バックエンド開発歴8年、API職人やってます。
API開発?
はいはい、お手のもんです。
徹夜?
やったことないエンジニアなんているの?
でもね、一つだけ未だにトラウマ級の案件があるんです。
そう、それが…
APIドキュメント作成。
APIが完成した瞬間って、ほんと複雑な気持ちになるんですよね。
片方では「ヨッシャー!動いた!」って勝利の雄叫びをあげてるのに、
もう片方の脳内では「うわ…ドキュメント書かなきゃ…」と現実が襲ってくる。
ドキュメント用のプラットフォームを開いて、エンドポイント書いて、リクエストパラメータもレスポンスの中身も全部リストアップ…
魂、持ってかれます。マジで。

コードは書き終わった、でも地獄はこれからだ
最近、某決済ゲートウェイの連携が終わって「さぁ次の機能行くぞ!」ってノリノリだったんです。
でもそこで気づくわけですよ。
あ、APIドキュメント書いてない…。
paymentAmount
だの、currencyCode
だの、userToken
だの、あれこれ書かないといけないし、
しかもどれか一つでも漏れたら、フロントの人から
「このフィールド、ドキュメントにないけど?」
ってSlackで即座に突っ込まれる。
クライアントからは
「あの〜、couponCode
ってボディのどこに入れればいいんでしたっけ?」
とか聞かれて、もう頭真っ白。
だって、書いたの先週だよ?コード見ないとわかんねーって。
こんな感じのAPIなんですけど:
POST /api/v1/payment/charge
Content-Type: application/json
Authorization: Bearer {access_token}
{
"paymentAmount": 100.00,
"currencyCode": "USD",
"userToken": "user12345",
"couponCode": "DISCOUNT10"
}
paymentAmount
: 課金金額(必須)currencyCode
: 通貨コード(必須)userToken
: 実行ユーザーのトークン(必須)couponCode
: 割引コード(任意)
で、ドキュメント見ながら「えっ…couponCode
ってちゃんと書いたっけ?」ってなって、
通貨のバリデーションについても書いたかどうか記憶が飛んでる。
一文字の追加が、阿鼻叫喚の始まり
ユーザー情報更新のAPIに、address
って新しい項目を「ちょい足し」したんですよ。
実装はOK。でもドキュメントが問題。
「アドレスって必須だっけ?任意だっけ?」って、昨日の自分に裏切られてる。
POST /api/v1/user/update-profile
Content-Type: application/json
Authorization: Bearer {access_token}
{
"userToken": "user12345",
"fullName": "John Dunn",
"email": "john.dunn@example.com",
"address": "1234 Elm St, SomeCity, SC, 12345"
}
userToken
: ユーザー識別トークン(必須)fullName
: 氏名(任意)email
: メールアドレス(任意)address
: 配送先住所(任意)
でもドキュメントには「address
は必須」って書いたままだった…。
案の定、フロントエンドから突っ込み入るんですよ。
「えーっと、ドキュメントと実装、違ってますよね?」
ピコンッてSlackの通知。
冷や汗。心拍数上昇。
そして2時間後にプルリク出し直す羽目に。
リリース直前、祈る気持ちで Ctrl+C → Ctrl+V
深夜に新機能作って、「よし終わったー!寝るぞー!」って思ったその瞬間。
「……やっべ、ドキュメント忘れてた」
「朝イチでコーヒー飲みながら書けばいいや」とか甘いこと言って、
気づけば朝5時。
カフェイン切れの状態で、見慣れたドキュメントツールとにらめっこ。
もうね、日本語なのに日本語に見えない。
「emailのバリデーション条件って書いたっけ?」
「レスポンス形式、何だったっけ?」
あのときの俺、完全にゾンビ。
しかもリリース当日。死亡フラグ確定。
EchoAPI:ドキュメント?ポチッとな、終了!
そんなある日。
同僚が言ったんですよ。
「ジョシュさん、EchoAPIって知ってます?ドキュメント、一発で作れるらしいですよ」
……まさかね?マーケティングトークでしょ?
でも一応試してみたら…
[ワンクリックでドキュメント完成]
ポチッ。
……画面に、奇跡が起きた。
- エンドポイント → 自動認識
- HTTPメソッド → 自動判別
- 項目の説明 → DBコメントから引っ張ってきてくれる
- レスポンス例 → 自動生成
え、ちょっと何これ、神か?
EchoAPIの魔法
例えばこんな感じのAPIがあったとして:
EchoAPIがあれば、ドキュメントは勝手に、しかも正確に作成・更新されるんです。
そのとき、気づいたんです。
「……APIドキュメントって、地獄じゃなくてもよかったんだ」
さようなら、深夜のドキュメント地獄
今では:
- API作った? → **[ワンクリックでドキュメント完成]**ポチ、終了
- 仕様変更? → またポチで即反映
- フロント? → 静か。超平和。
- 昔は21時半まで残ってたけど、今は19時前に帰宅
そして何より、空いた時間でコード書いたり、API設計を磨いたり、ちゃんと「エンジニアっぽい」仕事ができるようになった。
もし今、隣で新入りくんが
(うぅ…ドキュメント地獄…)
ってうなだれてたら、
そっと肩を叩いてこう言ってあげます。
「お疲れ。
EchoAPI、使ってみ?
世界、ちょっと優しくなるから。」