Przejdź do głównej zawartości

Perfect Life - usługa oparta o Web API w .NET Core

Dzisiaj pokażę jak skonfigurowałem mój web service Weight, który będzie wywoływała aplikacja mobilna Perfect Life w celu zapisania(i odczytania) wagi użytkownika na serwerze.
Dotychczas tworzyłem usługi w ASP.NET 4 i umieszczałem na Azure. Mógłbym tak zrobić i tym razem, ale stawiam na rozwój i chcę użyć ASP.NET MVC Core i Visual Studio 2017.

Jak zacząć? Tworzymy nowy projekt w Visual Studio. Będzie to aplikacja webowa ASP.NET Core.
Po utworzeniu projektu dodajemy następujące linie w pliku .csproj(pamiętajmy, że Microsoft wycofał się ostatecznie z pliku project.json wracając do formatu XML).
Konfiguracja pakietów wygląda tak:



Jeśli wystartujemy naszą aplikację na serwerze IIS a następnie spróbujemy wywołać usługę za pomocą Postmana, albo dowolnej przeglądarki www, to otrzymamy błąd 406.
Aby ten problem rozwiązać dodajemy następujący fragment w klasie Srartup:


Wstępnie kontroler dla mojej usługi obejmuje dwie metody:
POST - akcja będzie służyć do zapisu wagi przez użytkownika.
GET - akcja umożliwiająca odczytanie wszystkich dotychczasowych pomiarów dla podanego użytkownika.

Zwróćmy uwagę na sygnaturę metody Post:
public void Post([FromBody]string userName, [FromBody]int weight)
Jeśli zastanawiasz się dlaczego użyłem atrybutów [FromBody] to już wyjaśniam. Są one tu konieczne ponieważ używamy prostych typów: string, oraz int.
Ponieważ w przypadku typów prostych ASP.NET MVC domyślnie poszukuje parametrów żądania w URL'u, musimy dodać [FromBody].


Oto kod:



Jak to będzie działać w praktyce?
Testujemy za pomocą Postmana:




Komentarze

Popularne posty z tego bloga

Aplikacja 'Perfect Life' - planowanie funkcjonalności

W poprzednim wpisie przedstawiłem budowę historii użytkownika(ang. User Story). Dzisiaj korzystając z tego narzędzia zaplanujemy kilka funkcjonalności. Czas na zaplanowanie funkcjonalności aplikacji mobilnej Perfect Life. Aplikacja jest tworzona w oparciu o technologię Xamarin.Forms. Póki co jednak abstrahując od rozwiązań technologicznych skupimy się na funkcjonalnościach. Dobre planowanie swojej pracy to podstawa sukcesu każdego projektu programistycznego. US1: Jako użytkownik aplikacji mobilnej chcę ekran logowania aby mieć możliwość zapisywania swoich postępów US2: Jako użytkownik aplikacji mobilnej chcę mieć kalkulator wskaźnika BMI aby móc mierzyć poziom swojej kondycji US3: Jako użytkownik aplikacji mobilnej chcę widzieć wykresy aby móc wizualnie interpretować swoje postępy US4: Jako użytkownik aplikacji mobilnej chcę mieć możliwość rozwiązania quizu, żeby zbadać wskaźnik Body Age US5: Jako użytkownik aplikacji mobilnej chcę pobierać pliki PDF aby mieć dostęp do planó...

Dziś Premiera Visual Studio 2017

Dzisiaj ważny dzień dla programistów .NET. Premiera środowiska programistycznego Visual Studio 2017. Relację na żywo można oglądać tutaj: https://launch.visualstudio.com/ Jutro będzie dzień warsztatów, w których możemy wziąć udział online. Nowe VS możemy pobrać ze strony: https://www.visualstudio.com/ Co ciekawe pobierając VS teraz otrzymasz 60 dni darmowego dostępu do Xamarin University. To ważne jeśli chcesz się nauczyć tworzyć aplikacje mobilne. Co nowego? Lepsza integracja z VSTS Live unit testing - zwróćmy uwagę na ikony po lewej stronie: Dodatkowe ikony: Wyszukiwanie metod po fragmencie nazwy. Code suggestions, czyli podpowiedzi na temat najlepszych praktyk w trakcie pisania kodu. Możemy zdefiniować własne sugestie dot. kodu i dodac własne konfiguracje edytora kodu: Dodatkowo pojawiły się dodatkowe ikony, dzięki którym łatwo się zorientować gdzie kończy się klasa, a gdzie namespace. Wygląda to nieźle. Inne usprawnienia o których mówił Scott Hanselman...

ASP.NET Core MVC - wdrożenie na Linuxie krok po kroku

Dzisiaj skupimy się na wdrożeniu aplikacji ASP.NET Core MVC. Po przeczytaniu tego artykułu będziesz potrafił uruchomić swoją pierwszą aplikację ASP.NET Core na maszynie wirtualnej z systemem Ubuntu 14. Załóżmy, że mamy nasza aplikację gotową i chcemy ją uruchomić. Jak najłatwiej to zrobić? Podczas debugowania możemy roboczo wykorzystać Visual Studio do uruchomienia aplikacji na IIS Express. Jednak w warunkach produkcyjnych kiedy chcemy wdrożyć aplikację na systemie Linux, musimy poszukać innego rozwiązania. Dlaczego? Bo Linux nie będzie obsługiwał ani visual Studio ani IIS Express, ponadto jeśli korzystamy z Continuous Deployment, to chcemy wdrożenie robić z poziomu konsoli. Jak pisałem w poprzednich postach, wraz z nadejściem ASP.NET Core MVC, mamy możliwość wdrażania aplikacji napisanych w C# na platformie Linux. To niezwykle istotne, bo przynosi ogromne korzyści, choćby dlatego, że ceny hostingu są kilka razy niższe dla maszyn z Linuxem niż z Windowsem. 1) Framework-depen...