Jakiś czas temu miałem przyjemność prowadzić zajęcia z ASP.NET Web API w ramach spotkań akademickiej grupy EKA.NET. Na potrzeby tychże spotkań założyłem repozytorium, w którym umieściłem implementację podstawowych funkcjonalności Web API. Po zakończeniu cyklu 3 spotkań postanowiłem dalej rozwijać to repozytorium. Obecnie znajduje się tam cała moja wiedza na temat ASP.NET Web API.
Zawartość
- Podstawy API (CRUD) (GoodNotesController)
- Create -> Post
- Read -> Get
- Update -> Put
- Delete -> Delete
- Walidacja
- Podstawowa walidacja modeli poprzez atrybuty DataAnnotations
- Automatyczna walidacja ModelState (ValidateModelStateAttribute)
- Automatyczna walidacja pustego modelu (CheckModelForNullAttribute)
- Walidacja parametrów akcji/metody (ActionParametersValidationAttribute)
- Uwierzytelnianie i autoryzacja
- Access Token (poświadczenie tokenem typu OAuth bearer zrealizowane przez OWIN middleware) (SimpleAuthorizationServerProvider)
- Walidacja poświadczeń klienta
- Własny parametr tokena
- Własna właściwość w poświadczeniu
- Własny claim
- Refresh Token (SimpleRefreshTokenProvider)
- Własny atrybut autoryzacji (SimpleAuthorizeAttribute)
- Inne
- Wstrzykiwanie zależności (DI) Autofac (DependencyConfig)
- Dokumentacja API Swagger (SwaggerConfig)
- Automatyczna obsługa wyjątków (RequestExceptionAttribute)
- Działający CORS (Cross-Origin Resource Sharing) (CorsProvider)
Przykłady wykorzystania
Repozytorium
Link do repozytorium: https://github.com/lkurzyniec/YellowNotes