Должен ли я использовать существующую конечную точку API Patch? - PullRequest
0 голосов
/ 03 июля 2019

У меня есть задача добавить возможность в 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();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...