今日では、RESTful サービスをサポートする webサービス プラットフォーム/アプリケーションがたくさんあるが、そのサポート程度は、様々である。最近の 投稿 で、 Stefan Tilkov氏は、これらのフレームワークやプラットフォームを評価するための出発点として使える、基準のリストを公開した。
彼が提案しているのは、高いレベルでの質問になっている(「はい」という答えが多いほど、理想的なREST webアプリケーション フレームワークに、より近いフレームワークということになる)。
- フレームワークは、HTTPメッセージがURIだけからできているのではない、ことを考慮しているか?すなわち少なくとも HTTP verb、URI, Content-type そして Acceptヘッダーをベースに、メッセージが配送されるか?
- レスポンスで違った Content-typeを返しながら、同じビジネス・ロジックを容易に使うことができるか?
- 条件付きのリクエストをチェックする、ことをサポートしているか?
- バックエンドのロジックで何も設定されていない場合は、ETagは,自動的に計算されるか?
- (フレームワークのユーザとして)全てのHTTPリクエスト ヘッダーを簡単に読めるか?
- 簡単に、全てのHTTPレスポンス ヘッダーをセットできるか?
- カスタムな HTTP verbを使えるか?
- レスポンスで、正しい状態コードの返しかたは、明確かつ簡単か? フレームワークは、それらを正しく使えるか(とにかく使えるなら)?
Mike Amundsen 氏は、webフレームワークのためのRESTリトマス試験 リストに、追加を考えている。彼は、URIの様々なコンポーネント、パスそしてクエリ文字列は、リソースを他から区別するのに、同等な重要性がある、と考えている。彼は、 2002年の REST-Discussについての Roy T. Fielding氏の言葉を引用しいている、
サーバーのURIにとって、クエリとパスの情報に実質的な差はない--両方共リソースを区別する。
RESTful サービスの開発をサポートする有名なwebフレームワークには:
Java
.net
Ruby
Python
あなたのコメントを追加して欲しい。そうすれば、 RESTfulサービスを開発するためのフレームワークとプラットフォームのリストをアップデートしていくことができる。詳しくは、元々の投稿 を見て欲しい。