С помощью HttpClient веб-API ASP.NET .С getasync с параметрами
у меня есть следующая подпись метода Web Api
public HttpResponseMessage GetGroups(MyRequest myRequest)
в клиенте, как передать MyRequest вызывающему методу?
в настоящее время у меня есть что-то вроде этого
var request = new MyRequest()
{
RequestId = Guid.NewGuid().ToString()
};
var response = client.GetAsync("api/groups").Result;
как я могу пройти request
to GetAsync
?
если это POST
способ, я могу сделать что-то вроде этого
var response = client.PostAsJsonAsync("api/groups", request).Result;
1 ответов
вы не можете отправить тело сообщения для запросов HTTP GET, и по этой причине вы не можете сделать то же самое с помощью HttpClient
. Однако для передачи данных можно использовать путь URI и строку запроса в сообщении запроса. Например, у вас может быть URI like api/groups/12345?firstname=bill&lastname=Lloyd
и параметр класс MyRequest
такой.
public class MyRequest
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
С MyRequest
является сложным типом, вы должны указать привязку модели, как это.
public HttpResponseMessage GetGroups([FromUri]MyRequest myRequest)
и