私はAPIを書いています。PUT メソッドでリソースを更新できるようにしたいと考えています。以下は、リソースを表すモデル オブジェクトの例です。
var resourceToUpdate = new TestResourceModel()
{
Id = 5
Name = "testName",
Description = "description",
etc...
}
クライアントが /TestResource/5 に PUT してリソースのプロパティを更新できるようにしたい
ここで、クライアントがプロパティ Name のみを更新したいが、description は更新したくないので、次の要求を送信するとします。
Name="testNewName"
この場合、名前が「testNewName」になり、説明が「説明」のままになるように、リソースを更新する必要があります。
クライアントが Description プロパティを null に設定したい場合と、このケース (私の Controller メソッド内) を区別するにはどうすればよいですか。
Name="testNewName"
Description=
私のコントローラーメソッドは次のようになります。
[HttpPut]
public ActionResult Index(TestResourceModel model)
{
//True in both cases
bool descriptionSet = model.Description == null;