Tworzenie usług sieciowych REST API w technologii ASP.NET WebAPI - 3 pytania i odpowiedzi ze szkolenia (październik 2022)

Seria pytań uczestników, które pojawiły się podczas szkolenia Tworzenie usług sieciowych REST API w technologii ASP.NET WebAPI realizowanego w dniach 19-21.10.2022 r.


Czy jest jakaś przewaga kontrolerów nad Minimal API?

Kontrolery umożliwiają naturalne uporządkowanie akcji w ramach danej encji. W przypadku MinimalApi nie jest to takie intuicyjne, gdyż trzeba utworzyć metody rozszerzające, aby uzyskać podobny efekt.

Trzeba jednak mieć na uwadze, że Minimal Api ma mniejszy narzut.

Jednocześnie trzeba pamiętać, że MVC to dojrzały framework a MinimalApi w .NET 6 posiadają jeszcze pewne braki:

• brak obsługi [filtrów akcji]
https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/filters?view=aspnetcore-6.0#action-filters

• brak wsparcia dla złożonych typów w Query Params (trzeba dodatkowo zaimplementować w klasie modelu metody TryParse() lub BindAsync()

To ma zostać poprawione w .NET 7:

• zostanie dodana metoda AddFilter()

• zostanie dodany atrybut [AsParameters] Co ciekawe, MVC również zostanie nieco odświeżone i nie trzeba będzie już jawnie stosować atrybutu [FromServices] przy wstrzykiwaniu zależności bezpośrednio do metody. Czyli będzie to spójne z działaniem Minimal Api.

Jak długo wspierany będzie .NET6?

Wsparcie .NET 6 zakończy się 12 listopada 2024 r.

Dokładne zestawienie wsparcia poszczególnych wersji znajduje się pod adresem:
https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core#lifecycle

W jaki sposób pobierać paczki nuget offline?

Istnieje kilka rozwiązań:

• Wskazanie lokalnego folderu lub zasobu sieciowego;

• Utworzenie własnego serwera z użyciem paczki NuGet.Server;

• Uruchomienie gotowego serwera BaGet.