2

私はPUTのidem効力についてすべて読みましたが、部分的な更新には使用しません。私の質問は、そのような状況をどのように処理するかです。

私のサービスがリソースAのPUTリクエストを受け取ったと仮定します。Aには5つのプロパティがあります。リクエストに4つしか含まれていない場合はどうすればよいですか?

  • 不足しているプロパティをnullに設定します
  • スローエラー、400 Bad Request
  • 他の?

nullに設定することは、新しいリソースを作成するときは問題ないように見えますが、更新するときは問題があるか危険である可能性があります。

このシナリオの「ベストプラクティス」と見なされるのはどれですか?

4

2 に答える 2

1

Book REST in Practice によると:

  • PUT はリソース表現全体を想定しています
  • PATCH は、通常、変更のみが提供される大規模なリソース表現を含む状況での使用が提案されています。
于 2012-12-13T15:42:02.397 に答える
1

欠落しているパラメーターが必須のパラメーターである場合は、明らかに を返す必要がありますHTTP 400。パラメータが必須でない場合は、別のパラメータを渡してリソースを作成できます。

これは更新の場合にも当てはまると思います。必須パラメーターが欠落している場合は、 を返す必要がありますHTTP 400。それ以外の場合は、既存のパラメーターを使用して続行します。

これは私がしていることであり、合理的なアプローチだと思います。

于 2012-12-13T13:52:13.780 に答える