『Web API The Good Parts』を読んだので感想等を書きます。
読んだきっかけ
Web APIについては少しだけ使ったことはありますが、自分で設計したことがなく周辺知識も疎かったので勉強したいと思っていました。
どこかで本書が勧められているのを見て、購入しました。
どんな本か?
Web APIに関して、設計のあり方から設計する上で気をつけることなどが書かれています。
例えばURLの構成であったり、セキュリティ上で気にすること(レスポンスの返し方など)が網羅的に紹介されています。
本書ではAPI設計の原則を「デファクトスタンダードに従う」としている通り、YouTubeやTwitter等々のAPIの設計を紹介しながらより良い設計について議論が展開されるため、具体例とともに理解することができるのは良かったと思います。
印象に残ったこと
以下、なるほどーと思ったことを少しだけ例に書きます。
3.3 データの内部構造の考え方
ユーザーがやりたいことに対して、なるべく少ないアクセスになる設計を心がけましょうという話でした。つまり、APIをデータごとに細かく切り分けてしまうと、ユーザーがやりたいことをやるために多数のアクセスが発生してしまいます。そのようなAPIを使いこなすにはユーザーにとっても煩雑になってしまうので、ある程度まとまったパッケージで作成する必要がありそうです。
重複を避けようとすると細かく区切りたくなりそうですが、Web APIについてはそういった観点を徹底しすぎると逆効果になるんだなーと納得でした。
5章 設計変更をしやすいWeb APIを作る
5章全体にわたって、一度公開したAPIの変更の方法等について紹介されています。
特に外部に公開しているAPIの場合、まずは「変更しないこと」が最も良い方法と述べられています。
その上で変更しなければいけないときは、
- バージョンをどこに示すか(URLに含めるのが一般的)
- バージョン番号の付け方(メジャーバージョンごとが一般的)
- 終了を見越した利用規約等の記載
- バージョン切り替えのフロー
など考慮することが紹介されています。
特に公開時に終了するときを見越して利用規約等でサポート期限を明記しておくといった方法(※本書の中で必ずしも推奨されているわけではないです)は、自分がもしこの本を読まずにAPIを公開するときには完全に考慮から漏れそうなので、あらかじめこの本で頭に入れられてよかったです。
さいごに
この本を読んで、Web APIに触れてみたく、YouTubeAPIを使ってみました。
また別のブログに書きたいと思います。