岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

ROAには飛躍がある

昨日のメールに続き、Roy T. Fieldingの投稿があった。

In any case, there are plenty of RESTful services that do nothing but GET and POST. The key is how those methods are used, not what methods are used. To give a specific example, what makes a wiki more or less RESTful is almost always determined by how it (ab)uses GET and sessions -- whether it uses PUT or POST for editing pages is sugar topping in comparison.

  • GETとPOSTしか使わないけれどもRESTfulなサービスはたくさんある
  • GETやセッションをどう使うかがRESTfulか否かの分かれ目だ

つまり、GETを濫用せず、ステートレスであれば、充分RESTfulということだ。

そのことはRESTful本にも「HTTP GETとオーバーロードPOSTのみで構成される」「インターフェースは完璧にRESTful」(110ページ)と書かれているとおりではある。にもかかわらず、同書ではROAが提唱される。そこにはかなりの飛躍があるといってよい。なぜリソース指向なのか。なぜPUTやDELETEを使わなければならないのか。このあたりは少しも自明でない。

ROAの厳格さこそが「確認画面問題」や「複数リソース同時削除問題」といった悩みの元凶であることは間違いない。そうした悩みを引き受けてまでROAを採用すべきなのかどうか。