Programovanie

Ako konzumovať webové rozhranie API ASP.NET Core pomocou nástroja RestSharp

REST je skratka výrazu Representational State Transfer, architektonického štýlu, ktorý sa za posledných pár rokov stal mimoriadne populárnym. RESTful API je také, ktoré je zostavené v súlade s princípmi a pokynmi REST. Rozhrania RESTful API zvyčajne vrátia ako odpoveď obyčajný text, JSON alebo XML.

RestSharp je klientská knižnica HTTP s otvoreným zdrojovým kódom, ktorá umožňuje ľahké využitie služieb RESTful. RestSharp poskytuje vývojársky prívetivé rozhranie pre prácu so službami RESTful a zároveň abstrahuje od vnútorných komplikácií práce s požiadavkami HTTP. RestSharp podporuje synchrónne aj asynchrónne požiadavky.

Tento článok predstavuje diskusiu o tom, ako môžeme pomocou nástroja RestSharp využívať služby vytvorené pomocou technológie ASP.NET Core.

Ak chcete pracovať s príkladmi kódu v tomto článku, mali by ste mať vo svojom systéme nainštalovanú aplikáciu Visual Studio 2019. Ak ešte nemáte kópiu, môžete si tu stiahnuť Visual Studio 2019.

Vytvorte projekt rozhrania ASP.NET Core API

Najprv si vytvoríme projekt ASP.NET Core v Visual Studio. Za predpokladu, že je vo vašom systéme nainštalovaná sada Visual Studio 2019, vytvorte nový projekt ASP.Net Core v balíku Visual Studio podľa pokynov uvedených nižšie.

  1. Spustite Visual Studio IDE.
  2. Kliknite na „Vytvoriť nový projekt“.
  3. V okne „Vytvoriť nový projekt“ vyberte zo zobrazeného zoznamu šablón „Webová aplikácia ASP.NET Core“.
  4. Kliknite na Ďalej.
  5. V okne „Konfigurácia nového projektu“ zadajte názov a umiestnenie nového projektu.
  6. Kliknite na tlačidlo Vytvoriť.
  7. V okne „Vytvoriť novú webovú aplikáciu ASP.Net Core“ vyberte z rozbaľovacieho zoznamu v hornej časti .NET Core ako runtime a ASP.NET Core 2.2 (alebo novší). Budem tu používať ASP.NET Core 3.0.
  8. Vyberte „API“ ako šablónu projektu a vytvorte novú aplikáciu API ASP.NET Core.
  9. Skontrolujte, či nie sú začiarknuté políčka „Povoliť podporu Docker“ a „Konfigurovať pre HTTPS“, pretože tu nebudeme tieto funkcie používať.
  10. Skontrolujte, či je overenie nastavené na „Bez overenia“, pretože tiež nebudeme používať overenie.
  11. Kliknite na tlačidlo Vytvoriť.

Nasledovaním týchto krokov vytvoríte nový projekt API ASP.NET Core v Visual Studio. Ďalej vyberte priečinok Riešenie ovládačov v okne Prieskumníka riešení, kliknite na „Pridať -> Ovládač ...“ a vyberte „Ovládač API s akciami čítania a zápisu.“ Pomenujte tento nový radič DefaultController.

Tento projekt použijeme v ďalších častiach tohto článku.

Implementujte DefaultController v rozhraní ASP.NET Core API

Otvorte súbor DefaultController.cs a nahraďte v ňom kód kódom uvedeným nižšie:

pomocou Microsoft.AspNetCore.Mvc;

pomocou System.Collections.Generic;

menný priestor RESTAPIDemo.Controlers

{

[Route („api / [controller]“)]

[ApiController]

verejná trieda DefaultController: ControllerBase

    {

súkromní iba na čítanie Autori slovníka = nový Slovník ();

public DefaultController ()

        {

autori.Pridať (1, „Joydip Kanjilal“);

autori.Pridať (2, „Steve Smith“);

autori.Pridať (3, „Michele Smith“);

        }

[HttpGet]

verejný zoznam Získať ()

        {

Zoznam lstAuthors = nový Zoznam ();

foreach (KeyValuePair keyValuePair v autoroch)

lstAuthors.Add (keyValuePair.Value);

vrátiť lstAuthors;

        }

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

verejný reťazec Get (int id)

        {

návratoví autori [id];

        }

[HttpPost]

public void Post (hodnota reťazca [FromBody])

        {

autori. Pridať (4, hodnota);

        }

[HttpPut ("{id}")]

public void Put (int id, hodnota reťazca [FromBody])

        {

autori [id] = hodnota;

        }

[HttpDelete ("{id}")]

public void Delete (int id)

        {

autori. Odstrániť (id);

        }

    }

}

Pozri triedu DefaultController vyššie. Upozorňujeme, že táto trieda obsahuje metódy akcií zodpovedajúce každému z HTTP slovies GET, POST, PUT a DELETE. Kvôli jednoduchosti tu používame slovník na ukladanie a načítanie údajov. Toto API môžete otestovať pomocou svojho webového prehliadača alebo nástrojov, ako sú Postman alebo Fiddler. Všimnite si, že som ID napevno zakódoval v metóde HttpPost len ​​pre jednoduchosť. Mali by ste to implementovať vlastným spôsobom, aby ste vygenerovali jedinečný kľúč.

Zatiaľ je všetko dobré. V nasledujúcich častiach sa dozvieme, ako pracovať s programom RestSharp pri využívaní API, ktoré sme vytvorili.

Vytvorte klienta, ktorý bude využívať API

Ako klient použijeme konzolovú aplikáciu na využitie rozhrania API, ktoré sme vytvorili skôr. Za predpokladu, že je vo vašom systéme nainštalované Visual Studio 2019, postupujte podľa krokov uvedených nižšie a vytvorte nový projekt konzolovej aplikácie .NET Core v Visual Studio.

  1. Spustite Visual Studio IDE.
  2. Kliknite na „Vytvoriť nový projekt“.
  3. V okne „Vytvoriť nový projekt“ vyberte zo zobrazeného zoznamu šablón „Console App (.NET Core)“.
  4. Kliknite na Ďalej.
  5. V nasledujúcom okne „Konfigurácia nového projektu“ zadajte názov a umiestnenie nového projektu.
  6. Kliknite na tlačidlo Vytvoriť.

To je všetko, čo musíme urobiť, aby sme vytvorili nový projekt konzolovej aplikácie .NET Core.

Nainštalujte si balík RestSharp NuGet

Ak chcete pracovať s programom RestSharp, mali by ste si nainštalovať balíček RestSharp z NuGet. Môžete to urobiť buď prostredníctvom správcu balíkov NuGet vo vnútri IDE Visual Studio 2019, alebo vykonaním nasledujúceho príkazu v konzole správcu balíkov NuGet:

Inštalačný balík RestSharp

Využívajte rozhranie ASP.NET Core API pomocou nástroja RestSharp

Po nainštalovaní nástroja RestSharp do projektu ho môžete začať používať. Najskôr budete musieť vytvoriť inštanciu RestClient. Nasledujúci úryvok kódu ukazuje, ako môžete vytvoriť inštanciu a inicializovať triedu RestClient. Všimnite si, že základnú adresu URL odovzdávame konštruktoru triedy RestClient.

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

Ďalej by ste mali vytvoriť inštanciu triedy RestRequest odovzdaním názvu prostriedku a metódy, ktorá sa má použiť. Nasledujúci úryvok kódu ukazuje, ako je to možné dosiahnuť.

RestRequest request = new RestRequest ("Predvolené", Method.GET);

Nakoniec musíte vykonať požiadavku, deserializovať odpoveď a podľa potreby ju priradiť k objektu, ako je uvedené v útržku kódu uvedenom nižšie.

IRestResponse response = client.Execute(žiadosť);

Nasleduje kompletný zoznam kódov pre vašu referenciu.

pomocou RestSharp;

pomocou systému;

pomocou System.Collections.Generic;

menný priestor RESTSharpClientDemo

{

triedny program

    {

súkromný statický klient RestClient = nový

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

static void Main (reťazec [] args)

        {

RestRequest request = new RestRequest ("Predvolené",

Method.GET);

IRestResponse odpoveď =

klient. Vykonať(žiadosť);

Console.ReadKey ();

        }

    }

}

Ak chcete odoslať požiadavku POST pomocou aplikácie RestSharp, môžete použiť nasledujúci kód:

RestRequest request = new RestRequest ("Predvolené", Method.POST);

request.AddJsonBody ("Robert Michael");

var response = client.Execute (request);

RestSharp je k dispozícii na niekoľkých platformách .NET, čo je jeden z dôvodov, prečo je taký populárny. Pozoruhodná je aj schopnosť automatickej deserializácie aplikácie RestSharp. Ďalšie informácie o službe RestSharp sa dozviete na GitHub.

$config[zx-auto] not found$config[zx-overlay] not found