Cvičení – vytvoření projektu webového rozhraní API

Dokončeno

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.

  1. V nástroji Visual Studio Code vyberte File (Soubor) > Open File (Otevřít soubor).

  2. 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.

  3. Ve Visual Studio Code otevřete integrovaný terminál výběrem View (Zobrazit) > Terminal (Terminál) z hlavní nabídky.

  4. V okně terminálu zkopírujte a vložte následující příkaz.

    dotnet new webapi --no-https
    

    Tento 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 Yes dialogové 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.cs
    

    př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.

  5. 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

  1. Spuštěním následujícího příkazu sestavte aplikaci:

    dotnet build
    
  2. V příkazovém prostředí spusťte následující příkaz .NET Core CLI:

    dotnet run
    

    Př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+C na klávesnici a znovu spustíte dotnet run příkaz.

    V budoucnu použijeme jenom dotnet run příkaz, protože tento příkaz vytvoří náš projekt, i když se cokoli změnilo.

  3. Otevřete webový prohlížeč a přejděte na:

    http://localhost:5000/weatherforecast
    

    Ná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"
      },
      // ...
    ]
    
  4. 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-httprepl
    

    Př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.

  5. Připojení k našemu webovému rozhraní API spuštěním následujícího příkazu:

    httprepl http://localhost:5000
    

    Případně spusťte následující příkaz kdykoli, když je spuštěný HttpRepl:

    Například:

    (Disconnected)> connect http://localhost:5000
    
  6. Prozkoumejte dostupné koncové body spuštěním následujícího příkazu:

    ls
    

    Př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] 
    
  7. Přejděte ke koncovému bodu WeatherForecast spuštěním následujícího příkazu:

    cd WeatherForecast
    

    Následující příkaz vypíše výstup dostupných rozhraní API pro WeatherForecast koncový bod:

    http://localhost:5000/> cd WeatherForecast
    /WeatherForecast    [GET]
    
  8. Vytvořte GET žádost v HttpRepl pomocí následujícího příkazu:

    get
    

    Následující příkaz provede GET pož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"
      },
      // ..
    ]
    
  9. Ukončete aktuální relaci HttpRepl pomocí následujícího příkazu:

    exit
    
  10. vraťte se do dotnet terminálu v rozevíracím seznamu v Visual Studio Code a vypněte webové rozhraní API stisknutím klávesy CTRL+C na 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.