我正在使用 KevinDockx 的JsonPatch
Visual Studio 扩展。我的项目使用.NET Web API
(不是核心)和Angular (6)
. .Net Web API
不支持JsonPatchDocument
命名空间,因此需要 KevinDock 的JsonPatch
扩展。
我在这里阅读他的文档:https ://github.com/KevinDockx/JsonPatch/blob/master/README.md
JsonPatch
由两部分组成:
在客户端(API 的消费者)上:JsonPatchDocument / JsonPatchDocument 类构建本质上是一个更改集,以应用于您的 API 端的对象。
在(Web)API 级别:将这些更改应用到对象的 ApplyTo 方法。
但我无法理解第 1 部分,他在客户端上构建了一个 JsonPatchDocument 类。就我而言,我认为这意味着我需要JsonPatchDocument
在 Angular 的某个地方构建它。这一步的代码是:
JsonPatchDocument<DTO.Expense> patchDoc = new JsonPatchDocument<DTO.Expense>();
patchDoc.Replace(e => e.Description, expense.Description);
// serialize
var serializedItemToUpdate = JsonConvert.SerializeObject(patchDoc);
// create the patch request
var method = new HttpMethod("PATCH");
var request = new HttpRequestMessage(method, "api/expenses/" + id)
{
Content = new StringContent(serializedItemToUpdate,
System.Text.Encoding.Unicode, "application/json")
};
// send it, using an HttpClient instance
client.SendAsync(request);
但是,我不确定如何在我的 Angular 代码中实现这部分代码,或者我是否正确解释了这部分指令。例如,假设我已经JsonPatch
通过 NuGet 包管理器控制台在我的 API 上安装了 - 那么我如何从 Angular ( JsonPatchDocument<DTO.Expense> patchDoc = new JsonPatchDocument<DTO.Expense>();
) 引用 JsonPatchDocument,因为 Angular 没有这个安装?有没有人JsonPatch
在 Angular 项目中合作过足以为我解释这部分文档?