ikasama over technology

忘れたくないことを忘れないために

Web API: The Good Parts を読んだ

Web API: The Good Parts を読んだので、感想とかを書いていきます。

www.oreilly.co.jp

全体を通して

  • 200ページ程度なのでサクッと読める
  • 6年ほど Web 開発の仕事をしている自分からすると、知っている内容が7割くらいだった
    • 断片的な知識と経験を振り返るのには役立った
    • これから Web 開発を学んでいく1〜3年目くらいの若手 Web エンジニアには学びが多そうでオススメ
  • HTTP メソッド、ステータスコード、ヘッダの取り扱いについて幅広く説明している
  • 有名な各種 Web サービスの実際の API 設計を見比べながら解説してくれる
  • RFC 的にこうあるべき」といった論より、デファクト・スタンダードを重視する主張が多い
  • 2014 年に書かれた本なので、少し古いかも、と思う部分があったりした

各章で気になったポイント

1章 Web API とは何か

  • Web API の重要性について説かれているが、2023 年現在だと当たり前の内容も多く、大部分は飛ばしながら読んで良い
    • この本が書かれた 2014 年当時は、これから Web API のエコノミーが拡大していく時期だったと思う
  • LSUDs (large set of unknown developers) と SSKDs (small set of known developers) の概念は知っておくと良い

2章 エンドポイントの設計とリクエストの形式

  • エンドポイント設計については考え方がほぼ同じだった
  • HATEOAS に言及しているところは良かった
  • 一貫した設計をしようという主張も激しく同意

3章 レスポンスデータの設計

  • JSON のトップレベルで配列を返すべきか、オブジェクトを返すべきかの議論はなるほど、と思った
    • セキュリティと一貫性から、オブジェクトを返すほうが優勢っぽい

4章 HTTP の仕様を最大限利用する

  • HTTP ステータスコードの解説が充実していてよい
  • Cache-Control 周りもしっかり説明があってよい

5章 設計変更をしやすい Web API を作る

  • 互換性やバージョン管理の話
  • 個人的に新たな発見はなかったけど、知っておいて損はない内容

6章 堅牢な Web API を作る

  • セキュリティ周りの話
  • HTTPS を使うのは当たり前になってきているので、そのあたりは昔話扱いでよい
  • XSSXSRF の解説があるが、これだけで攻撃のイメージができるはちょっと疑問
  • セキュリティ関連の HTTP ヘッダは読むべき

まとめ

  • REST API を設計するなら読んでおいて損はない本
  • 特に Web 開発入門者や初級者に読んで欲しい
  • Web 開発をそこそこ経験している人にとっては、経験と知識を再確認する本として有用