.NET Core boilerplate, czyli mój projekt wzorcowy

UPDATED: Boilerplate został zmigrowany do .NET 6!

Boilerplate to kawałek kodu, który w szybki sposób pomaga wystartować pisanie kodu. Pewnego rodzaju szablon. Zamiast startować z pustym projektem i dodawać za każdym razem od nowa te same cegiełki, możemy posłużyć się boilerplatem, który te cegiełki już zawiera.

Ostatnimi czasy kilka razy tworzyłem od początku aplikację w .NET Core, a w ramach tej aplikacji odpowiedni zestaw projektów oraz komponentów. Za każdym razem schemat postępowania był bardzo podobny – w jednym projekcie API, w kolejnym projekcie warstwa dostępu do danych oraz kawałek biznesu, następnie projekty z testami. Typ projektu determinował załączone NuGetowe paczki, konfigurację oraz klasy bazowe, które po wielokroć były identyczne. Na koniec “strażnicy” jakości kodu, oni również identyczni w każdej z nowopowstałych aplikacji. Schemat się powtarzał.
Continue reading

Kompendium wiedzy o ASP.NET Web API

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.
Continue reading

Automatyczna walidacja parametrów akcji

W internecie znaleźć można mnóstwo sposobów na zwalidowanie modelu. Moim zdaniem najlepszym sposobem jest zastosowanie atrybutów z przestrzeni System.ComponentModel.DataAnnotations, ponieważ walidacja odbywa się samoczynnie. Niestety kiedy te same atrybuty wykorzystamy do parametrów akcji, to już tak automagicznie nie jest. W tym poście zaprezentuję problem oraz pokażę jak można sobie z nim poradzić.
Continue reading