Programiranje

Kako porabiti spletni API ASP.NET Core s pomočjo RestSharp

REST je kratica za Reprezentativni državni prenos, arhitekturni slog, ki je v zadnjih nekaj letih postal izjemno priljubljen. API RESTful je tisti, ki je zgrajen v skladu z načeli in smernicami REST. API-ji RESTful običajno kot odgovor vrnejo golo besedilo, JSON ali XML.

RestSharp je odprtokodna odjemalska knjižnica HTTP, ki olajša uporabo storitev RESTful. RestSharp ponuja razvijalcem prijazen vmesnik za delo s storitvami RESTful, medtem ko abstrahira notranje zapletenosti dela z zahtevami HTTP. RestSharp podpira tako sinhrone kot asinhrone zahteve.

Ta članek predstavlja razpravo o tem, kako lahko z RestSharp uporabljamo storitve, zgrajene z uporabo ASP.NET Core.

Če želite delati s primeri kode v tem članku, morate imeti v sistemu nameščen Visual Studio 2019. Če kopije še nimate, lahko Visual Studio 2019 prenesete tukaj.

Ustvarite projekt ASP.NET Core API

Najprej ustvarimo projekt ASP.NET Core v Visual Studio. Ob predpostavki, da je Visual Studio 2019 nameščen v vašem sistemu, sledite spodnjim korakom, da ustvarite nov projekt ASP.Net Core v Visual Studio.

  1. Zaženite Visual Studio IDE.
  2. Kliknite »Ustvari nov projekt«.
  3. V oknu »Ustvari nov projekt« na prikazanih seznamih predlog izberite »Spletna aplikacija ASP.NET Core«.
  4. Kliknite Naprej.
  5. V oknu »Konfiguriranje novega projekta« določite ime in mesto novega projekta.
  6. Kliknite Ustvari.
  7. V oknu »Ustvari novo spletno aplikacijo ASP.Net Core« izberite .NET Core kot izvajalno okolje in ASP.NET Core 2.2 (ali novejšo) s spustnega seznama na vrhu. Tukaj bom uporabljal ASP.NET Core 3.0.
  8. Kot predlogo projekta izberite »API«, da ustvarite novo aplikacijo ASP.NET Core API.
  9. Prepričajte se, da sta potrditveni polji »Omogoči podporo za Docker« in »Konfiguriranje za HTTPS« odstranjeni, saj tukaj ne bomo uporabljali teh funkcij.
  10. Prepričajte se, da je preverjanje pristnosti nastavljeno na »Brez preverjanja pristnosti«, saj tudi preverjanja pristnosti ne bomo uporabljali.
  11. Kliknite Ustvari.

Po teh korakih boste v Visual Studio ustvarili nov projekt API-ja ASP.NET Core. Nato v oknu Solution Explorer izberite mapo rešitve Controllers, kliknite »Add -> Controller…« in izberite »API Controller with Read / Write Actions«. Poimenujte ta novi krmilnik DefaultController.

Ta projekt bomo uporabili v naslednjih oddelkih tega članka.

Implementirajte DefaultController v ASP.NET Core API

Odprite datoteko DefaultController.cs in v njej zamenjajte kodo s spodaj navedeno:

z uporabo Microsoft.AspNetCore.Mvc;

z uporabo System.Collections.Generic;

imenski prostor RESTAPIDemo.Controllers

{

[Pot ("api / [krmilnik]")]

[ApiController]

javni razred DefaultController: ControllerBase

    {

zasebni avtorji samo za branje slovarja = new Dictionary ();

javni DefaultController ()

        {

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

avtorji.Dodaj (2, "Steve Smith");

avtorji.Dodaj (3, "Michele Smith");

        }

[HttpGet]

javni seznam Get ()

        {

Seznam lstAuthors = nov seznam ();

foreach (KeyValuePair keyValuePair v avtorjih)

lstAuthors.Add (keyValuePair.Value);

vrni lstAuthors;

        }

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

javni niz Get (int id)

        {

vrni avtorje [id];

        }

[HttpPost]

public void Post (vrednost niza [[FromBody]])

        {

avtorji.Dodaj (4, vrednost);

        }

[HttpPut ("{id}")]

public void Put (int id, vrednost niza [FromBody])

        {

avtorji [id] = vrednost;

        }

[HttpDelete ("{id}")]

public void Delete (int id)

        {

avtorji.Odstrani (id);

        }

    }

}

Glejte razred DefaultController zgoraj. Upoštevajte, da ta razred vsebuje metode dejanja, ki ustrezajo vsakemu od glagolov HTTP GET, POST, PUT in DELETE. Zaradi poenostavitve tukaj uporabljamo slovar za shranjevanje in pridobivanje podatkov. Ta API lahko preizkusite s svojim spletnim brskalnikom ali orodji, kot sta Poštar ali Fiddler. Upoštevajte, da sem ID zgolj zaradi enostavnosti kodiral v metodi HttpPost. Ustvariti ga morate na svoj način, da ustvarite edinstven ključ.

Zaenkrat dobro. V naslednjih razdelkih se bomo naučili delati z RestSharp za uporabo API-ja, ki smo ga zgradili.

Ustvarite odjemalca za uporabo API-ja

Kot odjemalec bomo uporabili konzolo za uporabo API-ja, ki smo ga zgradili prej. Če predpostavimo, da je Visual Studio 2019 nameščen v vašem sistemu, sledite spodnjim korakom, da v Visual Studio ustvarite nov aplikacijski projekt .NET Core Console.

  1. Zaženite Visual Studio IDE.
  2. Kliknite »Ustvari nov projekt«.
  3. V oknu »Ustvari nov projekt« na seznamu predlog izberite »Console App (.NET Core)«.
  4. Kliknite Naprej.
  5. V naslednjem oknu »Konfiguriranje novega projekta« določite ime in mesto novega projekta.
  6. Kliknite Ustvari.

To je vse, kar moramo storiti za ustvarjanje novega projekta .NET Core Console Application.

Namestite paket RestSharp NuGet

Če želite delati z RestSharp, namestite paket RestSharp iz podjetja NuGet. To lahko storite prek upravitelja paketov NuGet znotraj IDE Visual Studio 2019 ali pa tako, da v konzoli upravitelja paketov NuGet izvedete naslednji ukaz:

Namestite-paket RestSharp

Uporabite API ASP.NET Core z uporabo RestSharp

Ko v svoj projekt namestite RestSharp, ga lahko začnete uporabljati. Najprej boste morali ustvariti primerek RestClient. Naslednji delček kode prikazuje, kako lahko ustvarite in inicializirate razred RestClient. Upoštevajte, da osnovni URL posredujemo konstruktorju razreda RestClient.

Odjemalec RestClient = nov RestClient ("// localhost: 58179 / api /");

Nato ustvarite primerek razreda RestRequest, tako da posredujete ime vira in uporabljeno metodo. Naslednji delček kode prikazuje, kako je to mogoče doseči.

Zahteva RestRequest = nova zahteva RestRequest ("Privzeto", Method.GET);

Nazadnje morate zahtevo izvesti, odziv z deserializacijo dodeliti predmetu, kot je primerno, kot je prikazano v spodnjem delčku kode.

IRestResponse response = client.Execute(prošnja);

Sledi celoten seznam kod za vašo referenco.

z uporabo RestSharp;

z uporabo sistema;

z uporabo System.Collections.Generic;

imenski prostor RESTSharpClientDemo

{

razredni program

    {

zasebni statični odjemalec RestClient = nov

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

statična praznina Main (string [] args)

        {

RestRequest request = nova RestRequest ("Privzeto",

Metoda.GET);

IRestResponse odziv =

stranka.Izvrši(prošnja);

Console.ReadKey ();

        }

    }

}

Če želite poslati zahtevo POST z uporabo RestSharp, lahko uporabite naslednjo kodo:

Zahteva RestRequest = nova zahteva RestRequest ("Privzeto", Method.POST);

request.AddJsonBody ("Robert Michael");

var response = client.Execute (zahteva);

RestSharp je na voljo na več platformah .NET, kar je eden od razlogov, zakaj je tako priljubljen. Omeniti velja tudi zmožnost samodejne deserializacije RestSharp. Več o RestSharp lahko izveste na GitHub.