Driverリソースの残りのエンドポイントがあるとしましょう。私はこのようなPUTメソッドを持っています
myapi/drivers/{id}
{body of put method}
ドライバーを「有効」および「無効」にする機能を追加する必要があります
このような新しいエンドポイントを作成することをお勧めしますか?
PUT myapi/drivers/{id}/enable/false
または、既存のエンドポイントを使用する方が良いですか?既存のエンドポイントを使用する際の問題の1つは、ドライバーに多数のフィールド(約30)があり、「有効」または「無効」ドライバーのみを更新するためにそれらのすべてのフィールドを送信するのはやり過ぎです。
どう思いますか?
これは、まさにHTTPメソッドPATCH
の目的です。リソースに多くのフィールドがあるが、いくつかのフィールドのみを更新したい場合に使用されます。
PUT
と同様に、myapi/drivers/{id}
にリクエストを送信します。ただし、PUT
とは異なり、リクエスト本文で変更するフィールドのみを送信します。
myapi/drivers/{id}/enable
のようなエンドポイントを作成することは、あまり有効ではありません。「有効化」自体をリソースと呼ぶことはできないからです。
Spring PATCH
エンドポイントの実装例については、この link を参照してください。
PATCH Httpメソッドを使用して1つのフィールドを更新する
PATCH myapi/drivers/{id}/enable