Programování

Jak konzumovat webové rozhraní API ASP.NET Core pomocí RestSharp

REST je zkratka pro Representational State Transfer, architektonický styl, který se v posledních letech stal extrémně populárním. Rozhraní RESTful API je takové, které je vytvořeno v souladu s principy a pokyny REST. Rozhraní RESTful API obvykle vrací jako odpověď prostý text, JSON nebo XML.

RestSharp je klientská knihovna HTTP s otevřeným zdrojovým kódem, která usnadňuje využívání služeb RESTful. RestSharp poskytuje vývojářsky přívětivé rozhraní pro práci se službami RESTful při abstrahování interních složitostí práce s požadavky HTTP. RestSharp podporuje synchronní i asynchronní požadavky.

Tento článek představuje diskusi o tom, jak můžeme pomocí RestSharpu využívat služby vytvořené pomocí ASP.NET Core.

Chcete-li pracovat s příklady kódu v tomto článku, měli byste mít ve svém systému nainstalovanou Visual Studio 2019. Pokud ještě nemáte kopii, můžete si stáhnout Visual Studio 2019 zde.

Vytvořte projekt rozhraní API ASP.NET Core

Nejprve si vytvořme projekt ASP.NET Core v sadě Visual Studio. Za předpokladu, že je ve vašem systému nainstalovaná Visual Studio 2019, vytvořte nový projekt ASP.Net Core v sadě Visual Studio podle pokynů uvedených níže.

  1. Spusťte Visual Studio IDE.
  2. Klikněte na „Vytvořit nový projekt“.
  3. V okně „Vytvořit nový projekt“ vyberte ze zobrazeného seznamu šablon „Webová aplikace ASP.NET Core“.
  4. Klikněte na Další.
  5. V okně „Konfigurace nového projektu“ zadejte název a umístění nového projektu.
  6. Klikněte na Vytvořit.
  7. V okně „Vytvořit novou webovou aplikaci ASP.Net Core“ vyberte v rozevíracím seznamu nahoře jako běhové prostředí .NET Core a ASP.NET Core 2.2 (nebo novější). Budu zde používat ASP.NET Core 3.0.
  8. Vyberte „API“ jako šablonu projektu a vytvořte novou aplikaci API ASP.NET Core.
  9. Ujistěte se, že políčka „Povolit podporu Dockeru“ a „Konfigurovat pro HTTPS“ nejsou zaškrtnuta, protože zde tyto funkce nebudeme používat.
  10. Ujistěte se, že je ověřování nastaveno na „Žádné ověřování“, protože také nebudeme používat ověřování.
  11. Klikněte na Vytvořit.

Následující kroky vytvoří nový projekt rozhraní ASP.NET Core API v sadě Visual Studio.Following these steps will create a new ASP.NET Core API project in Visual Studio. Dále vyberte složku Řadiče řešení v okně Průzkumníka řešení, klikněte na „Přidat -> Řadič…“ a vyberte „Řadič API s akcemi čtení / zápisu.“ Pojmenujte tento nový řadič DefaultController.

Tento projekt použijeme v následujících částech tohoto článku.

Implementujte DefaultController v ASP.NET Core API

Otevřete soubor DefaultController.cs a nahraďte kód v něm následujícím:

pomocí Microsoft.AspNetCore.Mvc;

pomocí System.Collections.Generic;

jmenný prostor RESTAPIDemo.Controlers

{

[Route ("api / [controller]")]

[ApiController]

veřejná třída DefaultController: ControllerBase

    {

soukromí pouze pro čtení Autoři slovníku = nový Slovník ();

public DefaultController ()

        {

autoři.Přidat (1, "Joydip Kanjilal");

autoři.Přidat (2, „Steve Smith“);

autoři.Přidat (3, "Michele Smith");

        }

[HttpGet]

veřejný seznam Získat ()

        {

List lstAuthors = new List ();

foreach (KeyValuePair keyValuePair v autorech)

lstAuthors.Add (keyValuePair.Value);

vrátit lstAuthors;

        }

[HttpGet ("{id}", Name = "Získat")]

veřejný řetězec Get (int id)

        {

vrátit autory [id];

        }

[HttpPost]

public void Post (hodnota řetězce [FromBody])

        {

autoři. Přidat (4, hodnota);

        }

[HttpPut ("{id}")]

public void Put (int id, hodnota řetězce [FromBody])

        {

autoři [id] = hodnota;

        }

[HttpDelete ("{id}")]

public void Delete (int id)

        {

autoři. Odebrat (id);

        }

    }

}

Viz výše uvedená třída DefaultController. Všimněte si, že tato třída obsahuje metody akcí odpovídající každému z HTTP sloves GET, POST, PUT a DELETE. Pro zjednodušení zde používáme slovník k ukládání a načítání dat. Toto API můžete otestovat pomocí webového prohlížeče nebo nástrojů, jako je Postman nebo Fiddler. Všimněte si, že jsem ID napevno zakódoval v metodě HttpPost jen pro zjednodušení. Měli byste to implementovat svým vlastním způsobem, abyste vygenerovali jedinečný klíč.

Zatím je vše dobré. V následujících částech se naučíme, jak pomocí nástroje RestSharp využívat API, které jsme vytvořili.

Vytvořte klienta pro využití API

Jako klient použijeme konzolovou aplikaci k využití API, které jsme vytvořili dříve. Za předpokladu, že je ve vašem systému nainstalovaná sada Visual Studio 2019, postupujte podle níže uvedených kroků a vytvořte nový projekt konzolové aplikace .NET Core v sadě Visual Studio.

  1. Spusťte Visual Studio IDE.
  2. Klikněte na „Vytvořit nový projekt“.
  3. V okně „Vytvořit nový projekt“ vyberte ze zobrazeného seznamu šablon „Console App (.NET Core)“.
  4. Klikněte na Další.
  5. V dalším okně „Konfigurace nového projektu“ zadejte název a umístění nového projektu.
  6. Klikněte na Vytvořit.

To je vše, co musíme udělat, abychom vytvořili nový projekt konzolové aplikace .NET Core.

Nainstalujte balíček RestSharp NuGet

Chcete-li pracovat s RestSharp, měli byste nainstalovat balíček RestSharp z NuGet. Můžete to udělat buď pomocí Správce balíčků NuGet uvnitř IDE sady Visual Studio 2019, nebo provedením následujícího příkazu v konzole Správce balíčků NuGet:

Instalační balíček RestSharp

Využívejte rozhraní API ASP.NET Core pomocí nástroje RestSharp

Jakmile nainstalujete RestSharp do projektu, můžete jej začít používat. Nejprve budete muset vytvořit instanci RestClient. Následující fragment kódu ukazuje, jak můžete vytvořit instanci a inicializovat třídu RestClient. Všimněte si, že předáváme základní adresu URL konstruktoru třídy RestClient.

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

Dále byste měli vytvořit instanci třídy RestRequest třídy předáním názvu prostředku a použité metody. Následující fragment kódu ukazuje, jak toho lze dosáhnout.

RestRequest požadavek = nový RestRequest ("výchozí", Method.GET);

Nakonec musíte provést požadavek, deserializovat odpověď a přiřadit ji k objektu podle potřeby, jak je znázorněno v níže uvedeném fragmentu kódu.

IRestResponse response = client.Execute(žádost);

Následuje úplný seznam kódů pro vaši referenci.

pomocí RestSharp;

pomocí systému;

pomocí System.Collections.Generic;

jmenný prostor RESTSharpClientDemo

{

třídní program

    {

soukromý statický klient RestClient = nový

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

static void Main (řetězec [] args)

        {

RestRequest request = new RestRequest ("Výchozí",

Method.GET);

IRestResponse odpověď =

klient. Provést(žádost);

Console.ReadKey ();

        }

    }

}

Chcete-li odeslat požadavek POST pomocí aplikace RestSharp, můžete použít následující kód:

RestRequest požadavek = nový RestRequest ("výchozí", Method.POST);

request.AddJsonBody („Robert Michael“);

var response = client.Execute (požadavek);

RestSharp je k dispozici na několika platformách .NET, což je jeden z důvodů, proč je tak populární. Za zmínku stojí také schopnost automatické deserializace RestSharp. Další informace o RestSharpu najdete na GitHubu.

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