[[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)