ASP.NET Core MVC – Konfiguracja

Było trochę o konfiguracji hosta, było o konfiguracji aplikacji, więc na spokojnie możemy przejść do konfiguracji i uruchomienia aplikacji MVC. W tym celu dodamy prosty kontroler oraz widok do naszej aplikacji oraz skonfigurujemy router. Ale zacznijmy od początku.

Service i konfiguracja MVC

Na samym początku musimy dodać odpowiednią bibliotekę do obsługi MVC do naszego projektu, najprościej użyć do tego nuget-a. Z listy dostępnych bibliotek należy wyszukać Microsoft.AspNetCore.Mvc. Tutaj zwrócę uwagę, iż w repozytorium nuget-a znajduje się również biblioteka Microsoft.AspNetCore.Mvc.Core, ale w naszym najprostszym przykładzie nie będziemy z niej korzystać (przynajmniej na razie).  Kolejnym krokiem jaki musimy wykonać jest dodanie serwisu MVC. Dzięki wykorzystaniu mechanizmu dependency injection oraz dostarczonego wraz z ASP.NET Core kontenera, dodanie serwisu MVC jest dziecinnie proste. Pamiętacie jeszcze jak pisałem o tym, że w Startupie możemy dodawać serwisy, dziś to zrobimy.

Jak widzimy dodałem serwis MVC, a właściwie zrobiła to za mnie extension method, która znajduje się w dodanej przez nas bibliotece.

Routing

Ostatnim krokiem konfiguracyjnym w dniu dzisiejszym, będzie dodanie odpowiedniego routingu do naszego kontrolera. Wykorzystam tu, wydaje mi się oklepany przykład z dokumentacji, ale nie chcę utknąć na routingu, jeszcze przed dodaniem kontrolera oraz widoku.

W przed app.Run wstawiamy

Ta metoda zakończy nasz pipeline, jeśli tylko dopasuje naszego routa do jakiegoś templatu. W tym miejscu chyba należy się chwila wyjaśnienia. Co tak właściwie robimy? Jak zapewne pamiętacie z tego posta Use dodaje jakiś element do naszego middleweru. W tym przypadku dodawana jest middlewere do ASP MVC. Umożliwia on wywołanie odpowiednich metod z odpowiednich kontrolerów w zależności od zdefiniowanych routów. W naszym przypadku adres będzie wyglądał następująco  „nasza_domena/kontroler/akcja” konkretne przypisania po znaku równości „=” wartości informują nasz middleware, co mamy wykorzystać jeśli te 2 parametry nie zostaną jawnie podane. Tak więc, w naszym przypadku odwołania do kontrolera „Home” i akcji „Index” nastąpi w 3 przypadkach :

  • domena/
  • domena/Home/
  • domena/Home/Index

Gdyby nie wykorzystany mechanizm, gdzie podajemy jakie mają być wartości domyślne odpowiadałby on tylko 1 konkretnemu kontrolerowi oraz 1 akcji.

Kontroler

Konfiguracja za nami, pora ażeby stworzyć pierwszy kontroler naszej aplikacji. Dzisiaj będzie to prosty kontroler serwujący 1 widok. Mam nadzieje, że uda mi się utrzymać kontrolery w miarę czyste. Wiem, iż często ląduje tam zbyt wiele, ale zgodnie z SOLID-em powinny one jedynie serwować dane, a przynajmniej takiego jestem zdania. Co z tego wyjdzie pewnie czas pokaże.

Jak widać dodałem tutaj 2 akcje „Index” oraz „A” w zależności od tego jaki adres wybierzemy zaserwowany zostanie ten sam widok  Index ale w przypadku akcji „A” dodany zostanie mój pseudo model danych w postaci stringa.

Widok

Już prawie wszystko. Zostało nam tylko jeszcze dodać to co chcemy wyświetlić, a mianowicie nasz widok. Tutaj również fajerwerków nie będzie.

Jak widać widok jest prosty i zawiera początek znany chyba każdemu z elementarza, ale do rzeczy. W 1 linii wskazujemy jakiego typu są dane w naszym modelu. Dzięki temu intelisens nie wariuje i podpowiada nam składnie. W 2 linii mamy prosty statyczny tekst w nagłówku h1. Ostatnia linia to dodanie danych z modelu w nagłówku h2.

W ten oto sposób uruchomiliśmy po raz pierwszy aplikację MVC, którą mam nadzieje rozwijać.

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *