Cvičení – vytvoření projektu webového rozhraní API
Imagine jste zaměstnancem společnosti pizza s názvem Contoso pizza. Váš nadřízený vás požádal o vývoj služby správy inventáře RESTful Pizza jako předpokladu pro web prezentace společnosti. Služba musí podporovat přidávání, zobrazování, úpravy a odebírání typů Pizza — standardizovaného použití akcí HTTP, které se lépe označují jako psaní v jazyce C, R ečíst, U novějších a D dstranit (CRUD).
rozhraní .net CLI je nejjednodušší způsob, jak vytvořit webové rozhraní API ASP.NET Core. Rozhraní příkazového řádku je předem nainstalováno při instalaci sady .NET SDK.
V této jednotce použijete rozhraní .NET CLI k místnímu vytvoření webového rozhraní API. Porozumíte také výslednému projektu.
Vytvoření a prozkoumání projektu webového rozhraní API
K nastavení projektu .NET pro práci s webovým rozhraním API použijeme Visual Studio Code. Visual Studio Code obsahuje integrovaný terminál, který usnadňuje vytváření nového projektu. Pokud nechcete použít jiný editor kódu, můžete spustit příkazy v tomto modulu v terminálu.
V nástroji Visual Studio Code vyberte File (Soubor) > Open File (Otevřít soubor).
Vytvořte novou složku s názvem ContosoPizza v umístění dle vašeho výběru a pak klikněte na Vybrat složku.
Ve Visual Studio Code otevřete integrovaný terminál výběrem View (Zobrazit) > Terminal (Terminál) z hlavní nabídky.
V okně terminálu zkopírujte a vložte následující příkaz.
dotnet new webapi --no-httpsTento příkaz vytvoří soubory pro základní projekt webového rozhraní API spolu se souborem projektu C# s názvem ContosoPizza. csproj , který vrátí seznam předpověď počasí.
--no-httpsPříznak vytvoří aplikaci, která se spustí bez certifikátu HTTPS, aby bylo možné co nejjednodušší pro místní vývoj.Důležité
před provedením jakékoli produkční práce s webovými rozhraními api a před nasazením do produkčního prostředí budete chtít nakonfigurovat ASP.NET Core certifikát pro vývoj HTTPS. Tím zajistíte, aby komunikace s rozhraním API byla privátní, a také zabezpečení před manipulací prostřednictvím útoků prostředníkem .
může se zobrazit výzva od Visual Studio Code pro přidání assetů k ladění projektu. Klikněte na
Yesdialogové okno.příkaz používá šablonu projektu ASP.NET Core s aliasem jako webapi , pro vytvoření uživatelského projektu webového rozhraní API založeného na jazyce C#. vytvoří se ContosoPizza adresář, který obsahuje ASP.NET Core projektu běžícího na .net. Název projektu odpovídá názvu adresáře ContosoPizza.
Nyní byste měli mít k těmto souborům přístup.
-| Controllers -| obj -| Properties -| appsettings.Development.json -| appsettings.json -| ContosoPizza.csproj -| Program.cs -| Startup.cs -| WeatherForecast.cspředchozí příkaz používá šablonu projektu ASP.NET Core s aliasem jako webapi , pro vytvoření uživatelského projektu webového rozhraní API založeného na jazyce C#. vytvoří se ContosoPizza adresář, který obsahuje ASP.NET Core projektu běžícího na .net. Název projektu odpovídá názvu adresáře ContosoPizza.
Prozkoumejte následující soubory a adresáře:
Název Popis Controllers/ Obsahuje třídy s veřejnými metodami vystavenými jako koncové body HTTP. Program.cs Obsahuje metodu Main, což je spravovaný vstupní bod aplikace.Startup.cs Konfiguruje služby a kanál požadavků HTTP aplikace. ContosoPizza.csproj Obsahuje konfigurační metadata projektu.
Sestavení a testování webového rozhraní API
Spuštěním následujícího příkazu sestavte aplikaci:
dotnet buildV příkazovém prostředí spusťte následující příkaz .NET Core CLI:
dotnet runPředchozí příkaz:
- Hostuje webové rozhraní API s webovým serverem Kestrel architektury ASP.NET Core.
- Výstupuje informace protokolu o běžícím webovém rozhraní API.
Webové rozhraní API je hostované na obou
http://localhost:5000. Pokud jsme příznak nepředali--no-https, zjistili jsme, že rozhraní API se také spouštíhttps://localhost:5001.Důležité
Pokud narazíte na neočekávané chování, podívejte se na výstup terminálu. Pokud build selže nebo dojde k jiným chybám, pomohou vám informace v souboru protokolu odstranit potíže. Jak provedeme změny kódu, bude nutné zastavit webové rozhraní API tak, že stisknete
CTRL+Cna klávesnici a znovu spustítedotnet runpříkaz.V budoucnu použijeme jenom
dotnet runpříkaz, protože tento příkaz vytvoří náš projekt, i když se cokoli změnilo.Otevřete webový prohlížeč a přejděte na:
http://localhost:5000/weatherforecastNásledující výstup představuje výňatek vráceného kódu JSON:
[ { "date": "2021-02-12T20:36:01.4678814+00:00", "temperatureC": 33, "temperatureF": 91, "summary": "Scorching" }, { "date": "2021-02-13T20:36:01.4682337+00:00", "temperatureC": -8, "temperatureF": 18, "summary": "Cool" }, // ... ]otevřete nový integrovaný terminál z Visual Studio Code tím, že v hlavní nabídce vyberete terminál > nový terminál a spustíte následující příkaz:
dotnet tool install -g Microsoft.dotnet-httpreplPředchozí příkaz nainstaluje nástroj příkazového řádku .NET HTTP Read-Eval-Print Loop (REPL) .NET, který použijeme k provedení požadavků HTTP webovému rozhraní API.
Připojení k našemu webovému rozhraní API spuštěním následujícího příkazu:
httprepl http://localhost:5000Případně spusťte následující příkaz kdykoli, když je spuštěný HttpRepl:
Například:
(Disconnected)> connect http://localhost:5000Prozkoumejte dostupné koncové body spuštěním následujícího příkazu:
lsPředchozí příkaz detekuje všechna rozhraní API dostupná na připojeném koncovém bodu. Měl by se zobrazit následující:
http://localhost:5000/> ls . [] WeatherForecast [GET]Přejděte ke koncovému bodu WeatherForecast spuštěním následujícího příkazu:
cd WeatherForecastNásledující příkaz vypíše výstup dostupných rozhraní API pro
WeatherForecastkoncový bod:http://localhost:5000/> cd WeatherForecast /WeatherForecast [GET]Vytvořte
GETžádost v HttpRepl pomocí následujícího příkazu:getNásledující příkaz provede
GETpožadavek podobný přechodu na koncový bod v prohlížeči:HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Fri, 02 Apr 2021 17:31:43 GMT Server: Kestrel Transfer-Encoding: chunked [ { "date": 4/3/2021 10:31:44 AM, "temperatureC": 13, "temperatureF": 55, "summary": "Sweltering" }, { "date": 4/4/2021 10:31:44 AM, "temperatureC": -13, "temperatureF": 9, "summary": "Warm" }, // .. ]Ukončete aktuální relaci HttpRepl pomocí následujícího příkazu:
exitvraťte se do
dotnetterminálu v rozevíracím seznamu v Visual Studio Code a vypněte webové rozhraní API stisknutím klávesyCTRL+Cna vaší klávesnici.
Teď, když se webové rozhraní API vytvořilo, ho můžeme upravit tak, aby splňovalo potřeby našeho webového rozhraní API Pizza.
Potřebujete pomoc? Projděte si našeho průvodce odstraňováním potíží nebo nahlaste potíže a uveďte konkrétní připomínky.