4

我正在使用 KevinDockx 的JsonPatchVisual 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 项目中合作过足以为我解释这部分文档?

4

0 回答 0