我应该使用现有的Patch API端点吗?

时间:2019-07-02 23:27:00

标签: rest api

我有一项任务要向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();
    }

0 个答案:

没有答案