Cvičení – spuštění aplikace

Dokončeno

V předchozím cvičení jste napsali kód pro rozhraní API vašeho týmu pro implementaci databázových operací. V tomto cvičení otestujete rozhraní API, které jste připojili k databázi.

Spusťte rozhraní API

  1. V podokně terminálu spusťte aplikaci:

    dotnet run
    
  2. Zkontrolujte výstup spuštění aplikace a poznamenejte si následující informace:

    • EF Core při spuštění vypíše příkazy SQL jako info události protokolu.
    • Pokud databáze ještě neexistuje, tabulky a indexy se definují pomocí příkazů SQL CREATE .
    • Pokud se databáze ještě nenasadí, INSERT spustí se příkazy pro přidání počátečních dat.
    • V případě zabezpečení se hodnoty parametrů neodhalí do konzoly. Toto nastavení můžete změnit pomocí enableSensitiveDataLogging.
  3. Pomocí Průzkumníka SQLite můžete prozkoumat počáteční databázi. Každá tabulka obsahuje data.

Přejít na Swagger

Teď, když je rozhraní API spuštěné, otestujte rozhraní API, abyste zjistili, jestli operace fungují podle očekávání. Rozhraní API je nakonfigurované tak, aby pomocí Swaggeru poskytovalo testovací uživatelské rozhraní. Swagger je nástroj, který vám pomůže navrhovat, sestavovat, dokumentovat a využívat webové služby RESTful.

  1. Ve výstupu, který se zobrazí po spuštění aplikace, vyhledejte adresu URL HTTP, kde aplikace naslouchá. Výstup vypadá podobně jako v následujícím příkladu:

    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: http://localhost:5200
    
  2. Adresu URL otevřete tak, že ji vyberete podržením klávesy Ctrl. Prohlížeč se otevře v / umístění rozhraní API, které vrátí text. Contoso Pizza management API. Go to /swagger to open the Swagger test UI.

  3. Na panelu Adresa prohlížeče přidejte /swagger na konec adresy URL a vyberte Enter.

Testování operací CRUD

V následujícíchkrocích Po každé operaci zkontrolujte databázi v Průzkumníku SQLite a podívejte se, jak se databáze mění.

  1. Požádejte o úplný seznam pizz:

    1. Pod nadpisem Pizza rozbalte operaci GET /Pizza a vyberte tlačítko Vyzkoušet.
    2. Vyberte tlačítko Spustit.

    Rozhraní API vrátí seznam pizz jako JSON (v části Text odpovědi).

    [
        {
            "id": 1,
            "name": "Meat Lovers",
            "sauce": null,
            "toppings": null
        },
        {
            "id": 2,
            "name": "Hawaiian",
            "sauce": null,
            "toppings": null
        },
        {
            "id": 3,
            "name": "Alfredo Chicken",
            "sauce": null,
            "toppings": null
        }
        ]
    

    Tip

    Proč jsou sauce hodnoty null a toppings vlastnosti? Tento výsledek je očekávaný, protože v PizzaService.GetAll metodě jste nepoužíli metodu Include rozšíření k určení, že by měly být načteny vlastnosti navigace.

  2. Požádejte o jednu pizzu:

    1. Posuňte se dolů k operaci GET /Pizza/{id} a rozbalte ji a pak vyberte tlačítko Vyzkoušet .
    2. Do pole ID zadejte 2 a pak vyberte Spustit.

    Rozhraní API vrátí pizzu "Hawaiian". Všimněte si, že jsou vyplněné sauce vlastnosti toppings , protože PizzaService.GetById metoda používá metodu Include rozšíření.

  3. Přidejte novou pizzu:

    1. Posuňte se nahoru k operaci POST /Pizza (nachází se mezi použitými operacemi GET ) a rozbalte ji a pak vyberte tlačítko Vyzkoušet .

    2. Do textového pole Požadavek vložte následující KÓD JSON:

      {
        "name": "BBQ Beef",
        "sauce": {
          "name": "BBQ",
          "isVegan": false
        },
        "toppings": [
          {
            "name": "Smoked Beef Brisket",
            "calories": 250
          }
        ]
      }
      
    3. Vyberte Provést.

    Rozhraní API vrátí novou pizzu s vyplněnou id vlastností.

  4. Přidejte další zarování na bbq hovězí pizzu:

    1. Posuňte se dolů k operaci PUT /Pizza/{id}/addtopping a rozbalte ji a vyberte tlačítko Vyzkoušet .
    2. Do pole ID zadejte 4.
    3. Do pole StopId zadejte 5.
    4. Vyberte Provést.

    Rozhraní API aktualizuje pizzu a vrátí kód úspěchu. V databázi se přidá záznam, který PizzaTopping přidruží pizzu k zastavení.

  5. Změňte omáčku na BBQ Hovězí pizzu:

    1. Posuňte se dolů k operaci PUT /Pizza/{id}/updatesauce a rozbalte ji a vyberte tlačítko Vyzkoušet .
    2. Do pole ID zadejte 4.
    3. Do pole Id omáčky zadejte 2.
    4. Vyberte Provést.

    Rozhraní API aktualizuje pizzu a vrátí kód úspěchu. V databázi se záznam aktualizuje, Pizza aby přidružil pizzu k nové omáčkě.

  6. Vraťte se do operace GET /Pizza/{id} a požádejte o bbq hovězí pizzu nastavením pole ID na 4. Pak vyberte Spustit. Všimněte si, že jsou vyplněné sauce vlastnosti a toppings vlastnosti.

    {
        "id": 4,
        "name": "BBQ Beef",
        "sauce": {
            "id": 2,
            "name": "Alfredo",
            "isVegan": false
        },
        "toppings": [
            {
            "id": 5,
            "name": "Pineapple",
            "calories": 75
            },
            {
            "id": 6,
            "name": "Smoked Beef Brisket",
            "calories": 250
            }
        ]
    }
    
  7. Právě jste si uvědomili kouřenou brisketovou pizzu s Alfredo omáčkou a ananasem je hrozný nápad.

    Odstraňte pizzu:

    1. Najděte operaci DELETE /Pizza/{id} a rozbalte ji a pak vyberte tlačítko Vyzkoušet.
    2. Do pole ID zadejte 4.
    3. Vyberte Provést.

    Rozhraní API odstraní pizzu a vrátí kód úspěchu. V databázi Pizza se odstraní záznam a přidružené záznamy PizzaTopping .

  8. V terminálu se spuštěnou aplikací ukončete spuštěním klávesy Ctrl+C.

Tip

S aplikací můžete experimentovat. Kdykoli budete chtít začít s novou databází, zastavte aplikaci a odstraňte ContosoPizza.db, .db shm a soubory .db wal . Pak aplikaci spusťte znovu.

Skvělá práce! Aplikace pracuje s vaší databází podle očekávání. V další lekci vygenerujete modely entit z existující databáze.