我有一项任务要向REST API添加功能,以从现有事务记录中删除字段。
我发现Rest API代码已经具有接受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();
}