Kako konzumirati ASP.NET Core Web API pomoću RestSharp

REST je kratica za Reprezentativni državni prijenos, arhitektonski stil koji je postao izuzetno popularan u posljednjih nekoliko godina. RESTful API je onaj koji je napravljen u skladu s načelima i smjernicama REST-a. API-ji RESTful obično kao odgovor vraćaju običan tekst, JSON ili XML.

RestSharp je knjižnica HTTP klijenta otvorenog koda koja olakšava upotrebu RESTful usluga. RestSharp pruža sučelje prilagođeno programerima za rad s RESTful uslugama uz apstrahiranje unutarnjih zamršenosti rada s HTTP zahtjevima. RestSharp podržava i sinkrone i asinkrone zahtjeve.

Ovaj članak predstavlja raspravu o tome kako možemo raditi s RestSharpom na konzumiranju usluga izgrađenih pomoću ASP.NET Core.

Da biste radili s primjerima koda u ovom članku, u vašem sustavu trebao bi biti instaliran Visual Studio 2019. Ako još nemate kopiju, ovdje možete preuzeti Visual Studio 2019. 

Stvorite projekt ASP.NET Core API

Prvo, kreirajmo ASP.NET Core projekt u Visual Studiju. Pod pretpostavkom da je Visual Studio 2019 instaliran u vašem sustavu, slijedite korake opisane u nastavku da biste stvorili novi ASP.Net Core projekt u Visual Studiou.

  1. Pokrenite Visual Studio IDE.
  2. Kliknite "Stvori novi projekt".
  3. U prozoru "Stvori novi projekt" s popisa predložaka odaberite "ASP.NET Core Web Application".
  4. Kliknite Dalje.
  5. U prozoru „Konfiguriranje novog projekta“ navedite naziv i mjesto za novi projekt.
  6. Kliknite Stvori.
  7. U prozoru "Stvori novu web-aplikaciju ASP.Net Core" odaberite .NET Core kao vrijeme izvođenja i ASP.NET Core 2.2 (ili noviju) s padajućeg popisa na vrhu. Ovdje ću koristiti ASP.NET Core 3.0.
  8. Odaberite "API" kao predložak projekta da biste stvorili novu aplikaciju ASP.NET Core API. 
  9. Obavezno označite potvrdne okvire "Omogući podršku za Docker" i "Konfiguriraj za HTTPS" jer ovdje nećemo koristiti te značajke.
  10. Provjerite je li provjera autentičnosti postavljena na "Bez provjere autentičnosti" jer ni mi nećemo koristiti provjeru autentičnosti.
  11. Kliknite Stvori. 

Slijedeći ove korake stvorit će novi ASP.NET Core API projekt u Visual Studiju. Zatim odaberite mapu rješenja Controllers u prozoru Solution Explorer, kliknite "Dodaj -> Controller ..." i odaberite "API Controller with Read / Write Actions". Nazovite ovaj novi kontroler DefaultController.

Ovaj projekt koristit ćemo u sljedećim odjeljcima ovog članka.

Implementirajte DefaultController u ASP.NET Core API

Otvorite datoteku DefaultController.cs i zamijenite kod u njoj onim dolje navedenim:

pomoću Microsoft.AspNetCore.Mvc;

pomoću System.Collections.Generic;

prostor imena RESTAPIDemo.Controllers

{

    [Ruta ("api / [kontroler]")]

    [ApiController]

    javna klasa DefaultController: ControllerBase

    {

        privatni autori rječnika samo za čitanje = novi rječnik ();

        javni DefaultController ()

        {

            autori.Dodaj (1, "Joydip Kanjilal");

            autori.Add (2, "Steve Smith");

            autori.Add (3, "Michele Smith");

        }

        [HttpGet]

        javni popis Get ()

        {

            Popis lstAuthors = novi Popis ();

            foreach (KeyValuePair keyValuePair u autorima)

                lstAuthors.Add (keyValuePair.Value);

            povratak lstAuthors;

        }

        [HttpGet ("{id}", Name = "Get")]

        javni niz Get (int id)

        {

            povratak autora [id];

        }

        [HttpPost]

        javna void pošta (vrijednost niza [[FromBody]])

        {

            autori.Dodaj (4, vrijednost);

        }

        [HttpPut ("{id}")]

        javna praznina Put (int id, [FromBody] vrijednost niza)

        {

            autori [id] = vrijednost;

        }

        [HttpDelete ("{id}")]

        javna praznina Izbriši (int id)

        {

            autori.Ukloni (id);

        }

    }

}

Pogledajte klasu DefaultController gore. Imajte na umu da ova klasa sadrži metode djelovanja koje odgovaraju svakom od HTTP glagola GET, POST, PUT i DELETE. Radi jednostavnosti, ovdje koristimo Rječnik za pohranu i dohvat podataka. Ovaj API možete testirati pomoću web preglednika ili alata poput Poštara ili Fiddlera. Imajte na umu da sam čvrsto kodirao ID u metodi HttpPost samo radi jednostavnosti. Trebali biste ga implementirati na svoj način da biste generirali jedinstveni ključ.

Zasada je dobro. U sljedećim odjeljcima naučit ćemo kako raditi s RestSharpom kako bismo potrošili API koji smo izgradili.

Stvorite klijenta za konzumiranje API-ja

Kao klijent koristit ćemo aplikaciju konzole za konzumiranje API-ja koji smo ranije izgradili. Pod pretpostavkom da je Visual Studio 2019 instaliran u vašem sustavu, slijedite korake opisane u nastavku da biste stvorili novi projekt aplikacije .NET Core Console u Visual Studio-u.

  1. Pokrenite Visual Studio IDE.
  2. Kliknite "Stvori novi projekt".
  3. U prozoru "Stvori novi projekt" s popisa predložaka odaberite "Aplikacija konzole (.NET Core)".
  4. Kliknite Dalje.
  5. U sljedećem prozoru "Konfiguriranje novog projekta" navedite naziv i mjesto za novi projekt.
  6. Kliknite Stvori.

To je sve što moramo učiniti da bismo stvorili novi projekt aplikacije .NET Core Console.

Instalirajte RestSharp NuGet paket

Da biste radili s RestSharp, trebali biste instalirati paket RestSharp iz NuGet-a. To možete učiniti putem NuGet Package Manager unutar IDE-a Visual Studio 2019 ili izvršavanjem sljedeće naredbe u konzoli NuGet Package Manager:

Instalacijski paket RestSharp

Konzumirajte ASP.NET Core API pomoću RestSharp

Nakon što instalirate RestSharp u svoj projekt, možete ga početi koristiti. Prvo ćete morati stvoriti instancu RestClient. Sljedeći isječak koda pokazuje kako možete instancirati i inicijalizirati klasu RestClient. Imajte na umu da osnovni URL prosljeđujemo konstruktoru klase RestClient.

Klijent RestClient = novi RestClient ("// localhost: 58179 / api /");

Dalje, trebali biste stvoriti instancu klase RestRequest prosljeđivanjem imena resursa i metode koja će se koristiti. Sljedeći isječak koda pokazuje kako se to može postići.

Zahtjev za RestRequest = novi RestRequest ("Zadani", Method.GET);

Na kraju, trebate izvršiti zahtjev, deserializirati odgovor i dodijeliti ga objektu prema potrebi kako je prikazano u isječku koda koji je dat u nastavku.

IRestResponse
   
     odgovor = klijent.Izvrši
    
     (zahtjev);
    
   

Slijedi cjelovit popis kodova za vašu referencu.

pomoću RestSharp;

pomoću sustava;

pomoću System.Collections.Generic;

prostor imena RESTSharpClientDemo

{

    razredni program

    {

        privatni statički klijent RestClient = novo

        RestClient ("// localhost: 58179 / api /");

        statička praznina Main (string [] args)

        {

            Zahtjev za RestRequest = novi RestRequest ("Zadani",

            Metoda.GET);

            IRestResponse odgovor =

            klijent.Izvrši (zahtjev);

            Console.ReadKey ();

        }

    }

}

Da biste poslali POST zahtjev pomoću RestSharp, možete upotrijebiti sljedeći kod:

Zahtjev za RestRequest = novi RestRequest ("Zadani", Method.POST);

request.AddJsonBody ("Robert Michael");

var odgovor = client.Execute (zahtjev);

RestSharp dostupan je na nekoliko .NET platformi, što je jedan od razloga zašto je toliko popularan. Značajna je i mogućnost automatske deserializacije RestSharp. Na GitHubu možete saznati više o RestSharp.