[[oktatas:programozas:csharp:dotnetcore:web_api|< Web API]] ====== .Net Core Web API kezdés ====== * **Szerző:** Sallai András * Copyright (c) 2021, Sallai András * Szerkesztve: 2021, 2022 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Bevezetés ===== Ebben a projektben Kestrel webszerverrel valósítunk meg REST API szervert. ===== Projekt ===== dotnet new webapi -minimal -o app01 cd app01 code . ===== Futtatás ===== dotnet run A kimenet: Building... info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7182 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5062 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: /home/janos/dev/app01/ Böngészőbe írjuk be: * https://localhost:7182/weatherforecast * https://localhost:7182/swagger/ A portszámok helyére helyettesítsük be saját portszámunkat. ===== Helló Világ ===== Törüljük a Program.cs tartalmát, majd írjunk egy egyszerű szervert: var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.MapGet("/", () => "Helló Világ!"); app.Run(); Indítsuk újra a szervert: dotnet run Ellenőrzés HTTPie paranccsal: http localhost:5216/ ===== Végpont ===== A meglévő végpontunkhoz adjunk egy újabbat a Program.cs fájlban: app.MapGet("/valami", () => { return "Valmai"; }); Indítsuk újra a szervert: dotnet run Elérés a böngészőben: * https://localhost:7182/valami ===== Watch ===== Futtatás a fájlok változásainak figyelésével: dotnet watch run ===== JSON tartalom ===== Most egyszerű szavak helyett adjunk vissza JSON tartalmat: app.MapGet("/valami", () => { string data = @" { ""valami"": [ { ""name"": ""Bali Imre"", ""city"": ""Szolnok"" } ] } "; return data; }); Indítsuk újra a szervert. ===== dotnet parancsok ===== Futtatás: dotnet run Futtatás és a változások figyelése: dotnet watch Fordítás: dotnet build Utóbbi hasznos, ha szeretnénk hibákat keresni. .gitignore fájl készítése: dotnet new gitignore ===== Link ===== * https://docs.microsoft.com/hu-hu/aspnet/core/tutorials/min-web-api?view=aspnetcore-6.0&tabs=visual-studio-code (2021) * https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/docker/building-net-docker-images?view=aspnetcore-6.0 (2022)