4

私は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;
4

1 に答える 1

1

入ってくる値と更新したい値を比較する必要があります..つまり、nullはnullです:) Alt。モデルに更新フラグ (bool isUpdate) を設定してから、null 以外の値のみを変更します。

于 2012-04-20T07:01:54.747 に答える