ASP.NET Web-Api-HttpClient.GetAsync mit Parametern
Habe ich die folgenden Web-Api-Methode Signatur
public HttpResponseMessage GetGroups(MyRequest myRequest)
Im-client, wie gebe ich MyRequest an die aufrufende Methode?
Derzeit, ich habe so etwas wie dieses
var request = new MyRequest()
{
RequestId = Guid.NewGuid().ToString()
};
var response = client.GetAsync("api/groups").Result;
Wie kann ich pass request
zu GetAsync
?
Wenn es ein POST
Methode, ich kann etwas tun, wie dieses
var response = client.PostAsJsonAsync("api/groups", request).Result;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht senden Sie eine Nachricht body für HTTP GET-Anforderungen, und aus diesem Grund, Sie können nicht das gleiche tun mit
HttpClient
. Allerdings können Sie den URI-Pfad und query-string im request-Nachricht, um Daten weiterzugeben. Zum Beispiel, Sie können eine URI-wieapi/groups/12345?firstname=bill&lastname=Lloyd
und die parameter-KlasseMyRequest
wie diese.Seit
MyRequest
ist ein komplexer Typ, müssen Sie festlegen, Modell verbindlich wie diese.Nun, die
MyRequest
parameter enthalten die Werte, die aus der URI-Pfad und query-string. In diesem FallId
wird 12345,FirstName
werden bill undLastName
wird Lloyd.