< Web API

.Net Core Web API kezdés

Szerző: Sallai András

Copyright © 2021, Sallai András

Szerkesztve: 2021, 2022

Licenc: 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)