Programavimas

Kaip suvartoti ASP.NET Core Web API naudojant „RestSharp“

„REST“ yra „Reprezentacinio valstybės perkėlimo“ akronimas, pastaruosius kelerius metus itin išpopuliarėjęs architektūros stilius. „RESTful“ API yra sukurta pagal REST principus ir gaires. RESTful API paprastai kaip atsakymą pateikia paprastą tekstą, JSON arba XML.

„RestSharp“ yra atviro kodo HTTP kliento biblioteka, leidžianti lengvai naudoti „RESTful“ paslaugas. „RestSharp“ suteikia kūrėjui patogią sąsają, skirtą dirbti su „RESTful“ paslaugomis, tuo pačiu pašalinant vidines darbo su HTTP užklausomis subtilybes. „RestSharp“ palaiko tiek sinchronines, tiek asinchronines užklausas.

Šiame straipsnyje aptariama, kaip mes galime dirbti su „RestSharp“, norėdami naudoti paslaugas, sukurtas naudojant ASP.NET Core.

Norėdami dirbti su šiame straipsnyje pateiktais kodų pavyzdžiais, sistemoje turite būti įdiegę „Visual Studio 2019“. Jei dar neturite kopijos, galite atsisiųsti „Visual Studio 2019“ čia.

Sukurkite ASP.NET Core API projektą

Pirmiausia sukurkime ASP.NET Core projektą „Visual Studio“. Darant prielaidą, kad „Visual Studio 2019“ yra įdiegta jūsų sistemoje, atlikite toliau nurodytus veiksmus, kad sukurtumėte naują „ASP.Net Core“ projektą „Visual Studio“.

  1. Paleiskite „Visual Studio IDE“.
  2. Spustelėkite „Sukurti naują projektą“.
  3. Lange „Kurti naują projektą“ iš rodomų šablonų sąrašo pasirinkite „ASP.NET Core Web Application“.
  4. Spustelėkite Pirmyn.
  5. Lange „Konfigūruoti naują projektą“ nurodykite naujo projekto pavadinimą ir vietą.
  6. Spustelėkite Sukurti.
  7. Lange „Kurti naują ASP.Net pagrindinę žiniatinklio programą“ viršuje esančiame išskleidžiamajame sąraše pasirinkite .NET Core kaip vykdymo laiką ir ASP.NET Core 2.2 (ar naujesnę). Čia naudosiu ASP.NET Core 3.0.
  8. Pasirinkite „API“ kaip projekto šabloną, kad sukurtumėte naują ASP.NET Core API programą.
  9. Įsitikinkite, kad nepažymėti žymės langeliai „Įgalinti„ Docker “palaikymą“ ir „Konfigūruoti HTTPS“, nes čia nenaudosime tų funkcijų.
  10. Įsitikinkite, kad autentifikavimas nustatytas kaip „Be autentifikavimo“, nes mes taip pat nenaudosime autentifikavimo.
  11. Spustelėkite Sukurti.

Atlikę šiuos veiksmus, „Visual Studio“ sukursite naują ASP.NET Core API projektą. Tada lange „Solution Explorer“ pasirinkite „Controllers solution“ aplanką, spustelėkite „Add -> Controller…“ ir pasirinkite „API Controller with Read / Write Actions“. Pavadinkite šį naują valdiklį DefaultController.

Šį projektą panaudosime tolesniuose šio straipsnio skyriuose.

Įdiekite „DefaultController“ į ASP.NET Core API

Atidarykite failą DefaultController.cs ir pakeiskite jame esantį kodą toliau nurodytu:

naudojant „Microsoft.AspNetCore.Mvc“;

naudojant „System.Collections.Generic“;

vardų sritis RESTAPIDemo.Valdikliai

{

[Maršrutas („api / [valdiklis]“)]

[ApiController]

viešoji klasė DefaultController: ControllerBase

    {

privatūs tik skaitymo žodyno autoriai = naujas žodynas ();

public DefaultController ()

        {

autoriai.Add (1, "Joydip Kanjilal");

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

autoriai.Pridėti (3, „Michele Smith“);

        }

[HttpGet]

public List Get ()

        {

Sąrašas lstAuthors = naujas sąrašas ();

foreach (KeyValuePair keyValuePair autoriuose)

lstAuthors.Add (keyValuePair.Value);

grąžinti lstAuthors;

        }

[HttpGet ("{id}", vardas = "Gauti")]

viešoji eilutė „Get“ (int id)

        {

grąžinti autorius [id];

        }

[HttpPost]

public void Skelbimas ([FromBody] eilutės vertė)

        {

autoriai.Pridėti (4, vertė);

        }

[„HttpPut“ („{id}“)]

public void „Put“ (int id, [FromBody] eilutės vertė)

        {

autoriai [id] = vertė;

        }

[„HttpDelete“ („{id}“)]

public void Ištrinti (int id)

        {

autoriai.Pašalinti (id);

        }

    }

}

Žr. Aukščiau esančią „DefaultController“ klasę. Atminkite, kad šioje klasėje yra veiksmo metodai, atitinkantys kiekvieną HTTP veiksmažodį GET, POST, PUT ir DELETE. Paprastumo sumetimais čia naudojame žodyną duomenims saugoti ir gauti. Galite išbandyti šią API naudodami savo žiniatinklio naršyklę ar tokius įrankius kaip „Postman“ ar „Fiddler“. Atkreipkite dėmesį, kad „HttpPost“ metodu aš sunkiai kodavau ID, kad būtų paprasčiau. Turėtumėte jį įgyvendinti savaip, kad sukurtumėte unikalų raktą.

Kol kas viskas gerai. Tolesniuose skyriuose sužinosime, kaip dirbti su „RestSharp“ norint naudoti mūsų sukurtą API.

Sukurkite klientą, kad vartotumėte API

Mes naudosime konsolės programą kaip klientą anksčiau sukurtai API naudoti. Darant prielaidą, kad „Visual Studio 2019“ yra įdiegta jūsų sistemoje, atlikite toliau nurodytus veiksmus, kad sukurtumėte naują „.NET Core Console“ programos projektą „Visual Studio“.

  1. Paleiskite „Visual Studio IDE“.
  2. Spustelėkite „Sukurti naują projektą“.
  3. Lange „Kurti naują projektą“ iš rodomų šablonų sąrašo pasirinkite „Console App (.NET Core)“.
  4. Spustelėkite Pirmyn.
  5. Tada rodomame lange „Konfigūruoti naują projektą“ nurodykite naujo projekto pavadinimą ir vietą.
  6. Spustelėkite Sukurti.

Tai viskas, ką turime padaryti, kad sukurtume naują .NET Core Console Application projektą.

Įdiekite „RestSharp NuGet“ paketą

Norėdami dirbti su „RestSharp“, turėtumėte įdiegti „RestSharp“ paketą iš „NuGet“. Tai galite padaryti naudodami „NuGet“ paketų tvarkytuvę „Visual Studio 2019“ IDE arba vykdydami šią komandą „NuGet“ paketų tvarkyklės konsolėje:

„Install-Package RestSharp“

Naudokite „ASP.NET Core“ API naudodami „RestSharp“

Įdiegę „RestSharp“ į savo projektą, galite pradėti jį naudoti. Pirmiausia turėsite sukurti „RestClient“ egzempliorių. Šis kodo fragmentas parodo, kaip galite iš karto inicijuoti ir inicializuoti „RestClient“ klasę. Atminkite, kad pagrindinį URL perduodame klasės „RestClient“ konstruktoriui.

„RestClient“ klientas = naujas „RestClient“ ("// localhost: 58179 / api /");

Tada turėtumėte sukurti „RestRequest“ klasės egzempliorių, perduodami ištekliaus pavadinimą ir naudojamą metodą. Šis kodo fragmentas parodo, kaip tai galima pasiekti.

„RestRequest“ užklausa = nauja „RestRequest“ („Default“, Method.GET);

Galiausiai turite įvykdyti užklausą, deserializuoti atsakymą ir priskirti jį objektui, kaip parodyta toliau pateiktame kodo fragmente.

IRestResponse atsakymas = klientas. Vykdyti(prašymas);

Toliau pateikiamas visas jūsų kodų sąrašas.

naudojant „RestSharp“;

naudojant sistemą;

naudojant „System.Collections.Generic“;

vardų sritis RESTSharpClientDemo

{

klasės programa

    {

privatus statinis „RestClient“ klientas = naujas

„RestClient“ („// localhost: 58179 / api /“);

static void Main (string [] args)

        {

RestRequest užklausa = new RestRequest ("Numatytasis",

Metodas.GET);

IRestResponse atsakymas =

klientas. Vykdyti(prašymas);

Pultas.ReadKey ();

        }

    }

}

Norėdami pateikti POST užklausą naudodami „RestSharp“, galite naudoti šį kodą:

„RestRequest“ užklausa = nauja „RestRequest“ („Default“, Method.POST);

prašymas.AddJsonBody („Robertas Michaelas“);

var response = klientas. Vykdyti (užklausą);

„RestSharp“ yra prieinama keliose .NET platformose, o tai yra viena iš priežasčių, kodėl ji yra tokia populiari. Pažymėtina ir „RestSharp“ automatinio deserializavimo galimybė. Apie „RestSharp“ galite sužinoti daugiau apie „GitHub“.