RESTful client
Snabbstart
Nedanstående exempelkod skapar ett klientobjekt och ett requestobjekt, skickar requesten genom klienten för att få ett response, och deserialiserar response-objektets text till en instans av Pokemon-klassen.
RestSharp
RestSharp är ett bibliotek som förenklar skickandet av Rest-requests till en RESTful API-server.
Använd NuGet Gallery för att installera RestSharp. Lägg till detta using-statement högst upp:
RestClient
En klass som sköter kommunikationen med API-servern.
Skapar ett klientobjekt som kommer att skicka requests till PokeAPI.
GetAsync, PostAsync, PutAsync, DelAsync
Dessa metoder används för att skicka en request till en RESTful API-server och leverera resultatet.
Välj rätt metod:
Metod | HTTP-metod | Aktivitet |
---|---|---|
PostAsync | POST | Skapa en ny resurs |
GetAsync | GET | Hämta data om en resurs |
PutAsync | PUT | Ändra en resurs |
DelAsync | DELETE | Ta bort en resurs |
Metoderna tar alla emot en RestRequest-instans och returnerar en Task. Denna Task ger sedan ifrån sig, som Result, ett RestResponse.
GetAsync är, som namnet antyder, en asynkron metod. Med andra ord går det att använda await istället för .Result om man är i en asynkron metod.
RestRequest
Instanser av RestRequest används för att skicka requests till servern, via till exempel GetAsync.
Request-objekt inkluderar vilken resurs som ska efterfrågas.
AddParameter
I vissa API:er kan man lägga till ytterligare parametrar till sin request för att t.ex. skicka med en API-nyckel eller begränsa hur många resultat man får.
AddJsonBody
I vissa fall – t.ex. när man ska göra en PUT eller en POST – vill man skicka med ett objekt. Om API:et då förväntar sig JSON-data så kan man enklast använda AddJsonBody för att få automatisk serialisering.
RestResponse
Som svar på den request man skickat till API-servern får man ett RestResponse-objekt.
StatusCode
I response-objektet ingår en StatusCode. Dess datatyp är en Enum som heter HttpStatusCode och finns i biblioteket System.Net. Dess möjliga värden är alla existerande, definierade statuskoder från HTTP-standarden. Till exempel Ok och NotFound.
För att slippa skriva System.Net hela tiden kan du använda ett using-statement högst upp i filen:
Content
Content är en string som innehåller textsvaret på den request som skickades till servern.
Ofta är Content JSON eller XML-format, och då kan informationen deserialiseras till ett objekt antingen via JSON-deserialisering eller XML-deserialisering.
Kommunicera med en lokal server
Om du vill anropa en lokal server (localhost) men får ett felmeddelande om ett SSL-fel, så kan du kör denna kod i terminalen för att det ska fungera:
Öppna databas-API:er
Steam-API
Last updated