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

Unleash the power of ChatGPT in your C# applications with NGpt - C# OpenAI GPT client

Meet NGpt - OpenAI GPT C# client library that will make your conversations with ChatGPT a breeze! Have you ever been struggling building your own smart AI application in C#? Well, now you can use ChatGpt inside your application! Introducing NGpt, the powerful .NET library that lets you integrate ChatGPT seamlessly into your C# applications. No more nigts spent on building your own AI solitions, no more convoluted logic and building complex business rules - just pure AI bliss. In this blog post, we'll dive into the wonderful world of NGpt and show you how easy it is to use. You might even find a few laughs along the way. The Magic of NGpt NGpt is a transient fault-tolerant .NET 6 OpenAI client that simplifies ChatGPT integration for C# developers. It's like your friendly neighborhood Spider-Man - always there to help you out when you need it most. With just your OpenAI API key, you can start coding AI applications in C# faster than you can say "Peter Parker." Let...

Specflow czyli BDD w praktyce

Dzisiaj pokażę w praktyce w jaki sposób zbieram wymagania korzystając z narzędzia Specflow. Na początku przypomnę nasze historie użtkownika. Potem skonfigurujemy dodatek Specflow Visual Studio. Na końcu pokażę jak wygląda język Gherkin i zaimplementujemy pierwszą historię użytkownika US1. Oto lista funkcjonalności, które będę implementował w aplikacji Perfect Life: 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ów dietetycznych US6: Jako administrator aplikacji chcę zapisywać dane telemetryczne aby móc an...

Running Microsoft SQL Server on Linux with Docker

Probably you heard that Microsoft Sql Server can only run on Windows machines. Good news - This is not true anymore. You can easily install it on Linux machine too. In this article I show you 2 ways of installing Sql Server on Ubuntu 16 and demonstrate how to connect to the database from remote machine. OPTION 1: Slow way - Manual installation This is the most straightforward way of installing. You download packages and configure Sql Server interactively(you set password, port and choosing installation option - free or paid). This is the step by step instruction from microsoft https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu OPTION 2: Fast way - Running on docker with just 2 pure-command-line commands. My assumption is that your Ubuntu machine has already docker installed. You can check if Docker is already installed by tunning the command: docker. If you don't have docker installed, no problem: before continuing below instruction just install...