IT Framework backendowy

ASP.NET Web API

Znany też jako:ASP.NET WebAPIWeb API

Definicja #

ASP.NET Web API to framework Microsoft do budowania usług HTTP zgodnych z REST, działający na platformie .NET Framework. Został wprowadzony w 2012 roku jako część ASP.NET MVC 4 i szybko stał się standardem tworzenia REST API w ekosystemie Microsoft dla aplikacji działających na Windows Server z IIS.

Kluczowe cechy ASP.NET Web API:

  • Content negotiation — automatyczne negocjowanie formatu odpowiedzi (JSON, XML) na podstawie nagłówka Accept; wbudowana serializacja przez Json.NET i XmlSerializer
  • Routing — konwencjonalny routing ({controller}/{id}) lub attribute routing ([Route("api/products/{id:int}")])
  • HttpMessageHandler pipeline — łańcuch handlerów do przetwarzania żądań i odpowiedzi HTTP; podobne do middleware ASP.NET Core
  • Model binding i walidacja — automatyczne wiązanie parametrów z URL, query string i body; integracja z DataAnnotations
  • OData support — opcjonalne wsparcie dla protokołu OData (filtrowanie, sortowanie, stronicowanie przez $filter, $orderby)
  • Action filters — atrybuty do implementacji cross-cutting concerns (autoryzacja, logowanie, caching)

ASP.NET Web API vs ASP.NET Core Web API: ASP.NET Core Web API (od 2016) to przepisany od zera, cross-platform następnik. Działa na Linux, macOS i Windows, ma modularny middleware pipeline, wbudowany DI, wyższy performance i aktywny rozwój. ASP.NET Web API (non-Core) nie otrzymuje nowych funkcji — jest w trybie maintenance.

Zastosowania #

  • Utrzymanie i rozwój istniejących systemów — legacy aplikacje .NET Framework 4.x z REST API zbudowanym na ASP.NET Web API
  • Migracja do ASP.NET Core — analiza i przepisywanie kontrolerów, filtrów i middleware na Core-owy odpowiednik
  • Integracja z systemami korporacyjnymi — starsze systemy ERP i CRM często eksponują lub konsumują API zbudowane na tym frameworku
  • Dokumentacja historycznych projektów — zrozumienie architektury i konwencji projektów z lat 2012-2018
  • Szkolenia i certyfikacje Microsoft — wiedza historyczna przydatna w starszych materiałach i egzaminach

Ścieżka nauki #

Znajomość ASP.NET Web API jest przydatna głównie w kontekście legacy systemów — nowe projekty powinny używać ASP.NET Core Web API.

Zacznij od (jeśli musisz pracować z legacy):

  • Podstawy HTTP i REST — niezależne od frameworku, niezbędne dla każdego backend developera
  • Routing w ASP.NET Web API: konwencjonalny i attribute routing
  • ApiController i HttpResponseMessage — specyfika frameworku vs ASP.NET Core (IActionResult)
  • Autofac lub Unity jako DI container — Web API nie ma wbudowanego DI w przeciwieństwie do Core

Następnie (migracja do Core):

  • Porównanie: ApiController vs ControllerBase, HttpContext.Current vs HttpContext, HttpMessageHandler vs Middleware
  • ASP.NET Core Web API — dokumentacja Microsoft, oficjalne tutoriale
  • Narzędzia migracji: .NET Upgrade Assistant automatyzuje część przekształceń
  • Minimalny API (ASP.NET Core 6+) — nowe podejście dla prostych serwisów HTTP

FAQ #

Czy ASP.NET Web API i ASP.NET Core Web API to to samo?
Nie — to dwa różne frameworki. ASP.NET Web API działa na .NET Framework (Windows/IIS), nie jest aktywnie rozwijany. ASP.NET Core Web API to przepisany od zera następnik — cross-platform, wyższy performance, aktywny rozwój, wbudowany DI. Nowe projekty zawsze powinny używać ASP.NET Core. Oba mają podobne API (ApiController, Route, HttpGet/Post), ale różnią się szczegółami implementacyjnymi.
Jak migrować z ASP.NET Web API do ASP.NET Core?
Migracja obejmuje: zmianę targetowania projektu z .NET Framework na .NET, aktualizację NuGet packages, przepisanie Startup/Global.asax na ASP.NET Core Program.cs, aktualizację kontrolerów (ApiController -> ControllerBase, HttpResponseMessage -> IActionResult), zamianę HttpMessageHandlers na Middleware, konfigurację wbudowanego DI zamiast zewnętrznego kontenera. .NET Upgrade Assistant automatyzuje część tych kroków.
Jakie wersje .NET Framework obsługuje ASP.NET Web API?
ASP.NET Web API 2.x (najnowsza wersja) wymaga minimum .NET Framework 4.5. Działa z .NET Framework 4.5, 4.6, 4.7 i 4.8. Nie działa z .NET 5/6/7/8/9 (Core) — do tych wersji służy ASP.NET Core Web API. ASP.NET Web API jest dostępny przez NuGet package Microsoft.AspNet.WebApi.
Czy warto teraz uczyć się ASP.NET Web API?
Dla nowych projektów — nie, ASP.NET Core Web API jest właściwym wyborem. Jednak jeśli pracujesz lub planujesz pracować z systemami legacy opartymi na .NET Framework, znajomość ASP.NET Web API jest przydatna. Wiele dużych firm finansowych, ubezpieczeniowych i produkcyjnych nadal utrzymuje systemy z lat 2012-2018 oparte na tej technologii.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z ASP.NET Web API w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.