HTTP API の設計方向

V
4 min readOct 1, 2016

Twitter の TL に Dropbox が API v2 で REST をやめたという内容がかかれている記事が流れてきた。

どれどれと思い、Dropbox API v2 のドキュメントを眺めてみることにした。

見てみると、たしかに Get 系の API だとしても POST を利用しているし、API の URL 設計に get_shared_link_file のようによく言われる REST っぽい設計は使っていなかった。

この方針は同意だ。自分は結構前に REST っぽい API を捨てることにした。だからといって REST API がダメだとかは思っていない。

一般ユーザが使う場合の API は REST API であるほうが慣れ親しんでいる場合が多いからだ。

AWS で利用されている HTTP API 仕様

AWS の DynamoDB の Erlang/OTP ドライバーを書いているときに気づいたのだが、AWS の一部のサービスはかなり独特な API の仕様になっている。

簡単に言うならば HTTP の PATH は全部 / で、メソッド はすべて POST という仕組み。判断は x-amz-target の中の文字列で判断する。

その文字列は DynamoDB_20120810.PutItem のように ServiceName_Version.Action という形式になっている。

--

--