У меня есть задача добавить возможность в API REST для удаления поля из существующей записи транзакции.
Я обнаружил, что в коде API Rest уже есть конечная точка исправления для объекта транзакции, принимающего JsonPatchDocument в качестве параметра [FromBody].Приложение в настоящее время использует эту конечную точку для обновления суммы транзакции.
Теперь мне нужно добавить функциональность в приложение, чтобы иметь возможность удалять поля в определенной записи транзакции.Мое предположение заключается в том, что я должен использовать эту же конечную точку PATCH и отправить имя поля, которое я хотел бы удалить в качестве своего «пути» в запросе тела Json.
Поскольку я новичок в этом, мне бы хотелось получить некоторыесовет.Большое вам спасибо.
//PATCH /funds/{fundId}/{transactionId}
[HttpPatch("{fundId}/{transactionId}")]
#if !DEBUG
[Authorize(Policy = nameof(PermissionType.AccountingManage))]
#endif
public async Task<IActionResult> PatchTransactionAsync(int transactionId, [FromBody] JsonPatchDocument patch)
{
Transaction transaction = await _repo.GetTransactionByIdAsync(transactionId);
if (transaction == null)
{
return NotFound();
}
var op = patch.Operations.FirstOrDefault();
if (op == null)
{
return BadRequest();
}
await _repo.UpdateTransactionAsync(transaction, t => patch.ApplyTo(transaction));
return Ok();
}