独自の RESTful API を開発する際に。4 つの異なる http メソッドを使用する必要はありますか? POST PUT & DELETE を取得しますか?
Twitter REST APIをチェックしていたところ、共通のメソッド (GET と POST) を使用しているだけであることがわかりました。
独自の RESTful API を開発する際に。4 つの異なる http メソッドを使用する必要はありますか? POST PUT & DELETE を取得しますか?
Twitter REST APIをチェックしていたところ、共通のメソッド (GET と POST) を使用しているだけであることがわかりました。
短い答え:いいえ
長い答え: REST は特定のプロトコルに固有のものではなく、プログラミングのスタイルです。RESTful エンドポイントには特定の目標があると考える必要があるため、これは覚えておくと役立ちます。あなたの仕事は、Web サービスを可能な限り RESTful な方法で公開することです。RESTful API を作成する場合、特定の HTTP メソッドを使用する必要はありません。代わりに、REST は次の指針となるプリンシパルに具体化できます。個別に識別可能なリソースを公開する必要があります。これらのリソースは、公開された形で操作可能でなければなりません。ああ、自己記述的なメッセージを使用してください。
私はこれが漏れやすい説明だと確信しています。ただし、重要なアイデアを念頭に置くと、REST がより明確になることを確認してください。RESTful プラクティスは、健全な方法で状態を操作できる方法でリソースを公開します。RESTful API を実装する方法の技術的な詳細は、次を読むことで学ぶことができます: http://en.wikipedia.org/wiki/Representational_state_transfer その後、あなたの言語に特有のものを読んでください。早道: あなたの言語で書かれた RESTful API を見つけて、それをクローンして遊んでみてください。
公開する操作に適した HTTP メソッドを使用する必要があります。
たとえば、ものを削除する操作に対してのみ HTTP DELETE 要求を受け入れる必要があります。
API で呼び出し元が何かを削除できない場合 (例: 交通や天気の API)、DELETE 動詞を受け入れるべきではありません。
これらの論理演算をサポートする場合のみ:
GET - リソースをフェッチする
PUT - リソースを更新 (または作成)
DELETE - リソースを削除します
POST - いくつかの用途: コレクションに新しいリソースを作成し、リソースを変更する何らかの操作を実行します (リソースの完全に新しいバージョンを PUT するのではなく)。
ほとんどの API は、これらの操作を提供する必要があり、これらすべてのメソッドを使用します。HEAD を忘れないでください - リソースに関する情報を取得します (リソース自体ではありません)。