Angular / .NET Web API项目中的JsonPatch

时间:2018-09-26 23:24:02

标签: angular asp.net-web-api crud patch json-patch

我正在使用KevinDockx的JsonPatch扩展用于Visual Studio。我的项目使用.NET Web API(不是Core)和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类。就我而言,这意味着我需要在Angular中的某个地方构建此JsonPatchDocument。此步骤的代码是:

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代码中实现这部分代码,或者不确定是否正确解释了指令的那一部分。例如,假设我已经通过NuGet软件包管理器控制台在API上安装了JsonPatch-那么由于Angular没有此安装,我该如何从Angular(JsonPatchDocument<DTO.Expense> patchDoc = new JsonPatchDocument<DTO.Expense>();)引用JsonPatchDocument?有没有人在Angular项目中与JsonPatch合作过,足以为我解释文档的这一部分?

0 个答案:

没有答案