Как вызвать действие API типа [HttpPatch] из класса HttpClient в ядре asp.net mvc - PullRequest
0 голосов
/ 17 сентября 2018

Мой API имеет действие [HttpPatch], которое мне нужно вызвать.

[HttpPatch("{id}")]
public StatusCodeResult Patch(int id, [FromBody]JsonPatchDocument<Reservation> patch)
{
    Reservation res = Get(id);
    if (res != null)
    {
        patch.ApplyTo(res);
        return Ok();
    }
    return NotFound();
}

Я пробую его из класса HttpClient, но у него нет метода .PatchAsync()?

Также параметр имеет тип JsonPatchDocument<Reservation> и как его отправить с клиента при вызове этого действия?

Пожалуйста, помогите

1 Ответ

0 голосов
/ 17 сентября 2018

Вы должны создать HttpRequestMessage вручную и отправить его через SendAsync:

var request = new HttpRequestMessage
{
    RequestUri = new Uri("http://foo.com/api/foo"),
    Method = new HttpMethod("patch"),
    Content = new StringContent(json, Encoding.UTF8, "application/json-patch+json")
};
var response = await _client.SendAsync(request);
...