6-5.ASP.NET Core Web API 入門教學 - 使用PATCH局部更新資料

ASP.NET Core Web API 入門教學

影片講解


首先要使用PATCH功能,我們必須額外去下載套件。

  1. Microsoft.AspNetCore.JsonPatch
  2. Microsoft.AspNetCore.Mvc.NewtonsoftJson

那以下是程式碼

[HttpPatch("{id}")]
public void Patch(Guid id, [FromBody] JsonPatchDocument value)
{
    var update = (from a in _todoContext.TodoLists
                  where a.TodoId == id
                  select a).SingleOrDefault();
    if (update != null)
    {
        update.UpdateTime = DateTime.Now;
        update.UpdateEmployeeId = Guid.Parse("00000000-0000-0000-0000-000000000001");
        value.ApplyTo(update);
        _todoContext.SaveChanges();
    }
}

其中接受值的JsonPatchDocument是Microsoft.AspNetCore.JsonPatch的類別,用來處理局部更新的接收格式。

Microsoft.AspNetCore.Mvc.NewtonsoftJson則是接收後必要的轉換用的。那我們接著要到Startup.cs中設定一些參數才能正常執行。

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers()
        .AddNewtonsoftJson();
}

以上增加AddNewtonsoftJson()

昨完這些設定之後,我們就可以來使用局部更新的功能。要使用局部更新的功能,是有一定的格式,以下是取代時的用法。

[
  {
    "op": "replace",
    "path": "/name",
    "value": "去上課"
  }
]

 
接著我們就送出,就可以發現,我們成功的只更新了name的欄位。 
 
那因為其實我並沒有在用Patch,所以只能簡單的介紹一下基本用法,如果還想知道更多,可以參考以下的官方文件。

以上就是這篇Patch局部更新資料的簡單示範,想看詳細操作的話可以看影片。

新手分享學習成果,若有錯誤,煩請告知修正,感謝🙏


範例檔:下載

參考文章: 
ASP.NET Core Web API 中的 JsonPatch




Copyright © 凱哥寫程式 2022 | Powered by TalllKai ❤