私は最初のAPIを構築していますが、ここでの最善のアプローチは何か疑問に思っています。ブールフィールド「isArchived」を持つオブジェクトがあります。ユーザーがオブジェクトの[アーカイブ]をクリックしたときに、このブール値を反転させたいと思います。私の質問:次のようなものを呼び出すことはできますか?
PUT /api/objects/archive/1
これは、次のようなロジックでコントローラーにヒットします。
[ActionName("archive")]
public HttpResponseMessage ArchiveObject(int id)
{
if (!ModelState.IsValid)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
_service.ArchiveObject(id);
return Request.CreateResponse(HttpStatusCode.OK);
}
または、次のような方法でパッチを適用することをお勧めします。
PATCH /api/objects/1
次に、次のような本文でデータを送信します
{isArchived: true}
IDだけでなくデータを送信しているため、後者の方がコストがかかるようです。何が最善で、なぜですか?