RESTを使用してリソースの一部(ステータスインジケーターなど)のみを更新する方法について、かなり手を振っています。
オプションは次のようです。
HTTPにPATCHまたはMODIFYコマンドがないことを訴えます。しかし、RESTのHTTP MODIFY動詞で受け入れられた答えは?なぜそれが見た目ほど良い考えではないのかを示すのに良い仕事をします。
パラメータでPOSTを使用し、メソッドを識別します(たとえば、「action」という名前のパラメータ)。いくつかの提案は、自己定義のメソッド名でX-HTTP-Method-Overrideヘッダーを指定することです。これは、実行しようとしていることに基づいて実装内で切り替えるという醜いことにつながり、POSTを特にRESTfulに使用する方法ではないという批判を受け入れるように思われます。実際、このアプローチを取ることは、RPCタイプのインターフェースのように感じ始めます。
PUTを使用して、更新する特定の属性を表すリソースのサブリソースを上書きします。実際、これは事実上、サブリソースの上書きであり、PUTの精神に沿っているように見えます。
この時点で、私は#3が最も合理的なオプションであると考えています。
これはベストプラクティスですか、それともアンチパターンですか?他に選択肢はありますか?