雀巽の日記帳

雀巽が綴る日常の記録

"Web API: The Good Parts" を読んだ

"Web API: The Good Parts" を読みました。

Web API: The Good Parts

Web API: The Good Parts

一言で言うと Web API 設計時に考慮すべきことと良い見本が詰まった本 でした。

個人的にはエラーの表現方法、レスポンスヘッダ(HTTP の仕様に即したメタデータや Content-Type の扱い)、運用面の話が印象に残りました。

エンドポイント (URI) 設計については良くやっているので「せやな」と思いながら読み進めていたんですが、 SSKDs 向け(というかほぼ自分向け)の Web API しか作成したことがなかったので、LSUDs 向けのレスポンス設計や運用面の話はかなり学びが多かったです。

また、Web API 設計時に HTTP の仕様や制約をどう活用するかという話も非常に良かったです。

例えば、バージョン情報や独自ヘッダを Content-Type で表すのは HTTP の仕様上は美しいが、 クライアントとしては不便になることがあるなど、 仕様上の美しさと利便性のトレードオフを考えないといけない点などが印象に残りました。

運用面では Web API バージョニング(廃止)の話で取り上げられていた Twitter が実際に行った Blackout Test はなかなか参考になりそうだなーとも思いました。 あと、バージョニングはセマンティックバージョニングのメジャーバージョンだけを指定すれば良いようにするのも、なるほど確かに、という感じでした。

リソース指向の Web API の上にオーケストレーション層を載せる話も出てきました。

thenextweb.com

オーケストレーション層を作ったことはありませんが、こうすると良いよなぁとは思っていたので、 JSON を吐く機械になれる機会があればチャレンジして見ようと思います。

Web サービス開発に関わるは読んでおいて損はないと思える本でした。