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


Posted by TalllKai on 2021-06-06

影片講解:


首先要使用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
範例檔:下載


#ASP.NET Core #Web API #.NET 5







Related Posts

[FE302] React 基礎 - hooks 版本:再度中場休息

[FE302] React 基礎 - hooks 版本:再度中場休息

Scroll 相關運用 - 募資網站

Scroll 相關運用 - 募資網站

GitLab 架設

GitLab 架設


Comments