Я использую расширение KevinDockx JsonPatch
для Visual Studio.Мой проект использует .NET Web API
(не Core) и Angular (6)
..Net Web API
не поддерживает пространство имен JsonPatchDocument
, поэтому необходимо расширение JsonPatch
KevinDock.
Я читаю его документацию здесь: 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
в своем API через консоль диспетчера пакетов NuGet - как тогда я мог бы ссылаться на JsonPatchDocument из Angular (JsonPatchDocument<DTO.Expense> patchDoc = new JsonPatchDocument<DTO.Expense>();
), поскольку Angular не имеет этой установки?Кто-нибудь работал с JsonPatch
в проекте Angular достаточно, чтобы интерпретировать эту часть документации для меня?