質問
Web サービスを RESTful として分類するためにサーバーが許可する必要のある HTTP 動詞の最小セットは何ですか?
ホストが許可しない場合はどうなりますか 置く そして 消去?
これって本当に大切なことなのか、これだけで幸せに生きていけるのか 得る そして 役職 ?
アップデート: 答えてくれてありがとう、皆さん、 ロジャーの答え ビル・ヴェナーズとエリオット・ラスティ・ハロルドのインタビューへのリンクがあるため、おそらく最高でした。今では分かりました。
解決
はい、PUT や DELETE がなくても大丈夫です。
この記事では、その理由を説明します。http://www.artima.com/lejava/articles/why_put_and_delete.html
真のRESTafrianにとってこれは異端かもしれませんが、現実の世界では、自分が持っているものでできることをします。できる限り合理的であり、独自の規則と可能な限り一致してください。ただし、P と D なしでも優れた RESTful システムを構築できることは間違いありません。
RP
他のヒント
X-Http-Verb-Override:DELETE inst を使用することもできます。HTTP削除の。これは、HTTP 動詞を変更できず、GET と POST のみをサポートする Silverlight クライアントにも役立ちます。
GET と POST だけを使用する場合でも、RESTful です。Web サービスは GET または POST のみを必要とする処理のみを行う可能性があるため、問題ありません。
REST では、プロトコルの実装が壊れている場合でも、プロトコルの規約を破ることができます (そのため、非標準的なことは、実装の壊れた部分を回避することだけです)。したがって、REST 内では、DELETE や PUT などの一般的にサポートされていない動詞を表すために他のメソッドを使用することが許可されます。
編集:以下は、REST を作成および定義した人物である Fielding からの引用です。
REST API には、HTTP の PATCH メソッドやリンク ヘッダー フィールドなど、標準プロトコルの指定されていないビットの詳細を入力または修正すること以外に、通信プロトコルに対する変更を含めてはいけません。壊れた実装の回避策 (HTML が HTTP のメソッド セットを定義していると信じるほど愚かなブラウザなど) は、その回避策が最終的に廃止されることを想定して、個別に定義するか、少なくとも付録で定義する必要があります。[ここでの失敗は、リソース インターフェイスが汎用ではなくオブジェクト固有であることを意味します。]
現在の Web ブラウザは GETS + POSTS のみを処理します。たとえば、Rails では、PUTS + DELETES は非表示のフォーム フィールドによって「偽装」されます。
フレームワークに PUTS + DELETES を「サポート」するための回避策がない限り、現時点では心配する必要はありません。