先に進む前に、この関連する質問が役立つ場合があります
RESTとRESTfulの違いは、単にセマンティクスです。RESTは、クライアントとサーバーの関係に適用されるアーキテクチャスタイルです。RESTfulは、RESTを使用していることをクライアントに伝える方法です。
多くのWebアプリケーションはRESTfulであると主張していますが、実際にはREST制約に部分的にしか準拠していません(Martijn Verburgも彼の答えで言及しているように)。ここにリストしますが、記事を読むことを強くお勧めします。
- クライアントサーバー
- キャッシュ可能
- 階層化システム
- オンデマンドのコード(オプション)
クライアント側で作業していると述べているので、RESTアーキテクチャが接続クライアントとしてあなたに何を与え、何を期待しているのかを見ると役立つかもしれません。RESTはHTTPではありませんが、RESTをサポートする最も人気のあるプロトコルであるため、これを中心に例を示します。
クライアントは次のことを期待されます。
- HTTP動詞(GET、POST、PUT、DELETE、OPTIONS、PATCHなど)を使用して、関連する操作を実行します
- Acceptヘッダーを提供し、Content-Typeヘッダーを理解します(たとえば、これまでに見たことのないXMLを受け取りますが、参照されたXSDを使用して、ユーザーに提示するクライアント側ドメインモデルを作成できます)
- 理解できるContent-Typeで提供されているリンクをたどります(たとえば、ユーザーまたはアプリケーションに
<link rel="pay" href="http://example.org/orders(1)/payment">
、HTMLで状態遷移を表現し、クレジットカード番号などの支払いの詳細を表すXMLを含む本文を含むPOSTを通じて支払いリソースを作成することを推測させます) 、量など)
- 広範囲のHTTPステータスコードに正しく反応する
上記を行う場合、RESTクライアントと考えることができます。「RESTfulアプリ」と呼ぶこともできますが、それは、クライアント側でRESTを使用していることを意味します。用語。