Posts List

API Platform-wprowadzenie

API Platform-wprowadzenie

Od kilku lat prawie wszystkie aplikacje internetowe tworzone są w architekturze REST. Schemat tworzenia takiego oprogramowania najczęściej wygląda następująco: stwórz klasę encji, która reprezentuje tabelę w bazie danych, pozwól użytkownikowi stworzyć obiekt tej klasy, pobrać go oraz edytować i na koniec pobrać wszytskie obiekty z danej encji. Potem dochodzi filtrowanie tej listy, paginacja i sortowanie. Nie jest to najciekawsze zajęcie i sprawia, że marnujemy czas na powtarzalne czynności zamiast skupić się na logice biznesowej. Ale może da sie jakoś usprawnić ten proces?

Czym jest GraphQL?

Czym jest GraphQL?

Jak już wielokrotnie wspominałem GraphQL mnie w pewien sposób zauroczył na tegorocznym FrontendCon. Zauroczył mnie tak bardzo, że postanowiłem się tym chwilę pobawić. Stąd też mam zamiar napisać małą serię dotyczącą tego rozwiązania w miarę postępu moich zabaw. Dziś chciałbym zacząć od podstaw czyli czym jest GraphQL oraz jak można rozpocząć zabawę z nim.

WorkTimetable#10 – Połączmy ścieżki z bazą danych

WorkTimetable#10 – Połączmy ścieżki z bazą danych

W ostatnim wpisie udało mi się skutecznie połączyć z bazą danych. Jeszcze wcześniej stworzyłem działające ścieżki. Teraz przyszła pora by to wszystko połączyć w jedną całość. Zmiany w klasie Events Tak naprawdę najwięcej się zmieniło w pliku routes\events.py. Pierwsze co zrobiłem to rozdzieliłem dotychczasową klasę Events na dwie: Event i Events. Na pierwszy rzut oka może się to wydawać dziwne i niepotrzebne ale ma to swoje uzasadnienie. W klasie Events mamy do czynienia z więcej niż jednym obiektem wydarzenia, tutaj umieściłem endpointy dotyczące pobrania wszystkich rekordów oraz dodania nowego do istniejących.

WorkTimetable#8 – Flask-RESTful

WorkTimetable#8 – Flask-RESTful

W ostatnim wpisie pokazałem(znajdziecie go tutaj), że stworzenie prostego serwera Api nie jest ciężkie. Jednak w większości projektów takie coś może być uciążliwe i dlatego postanowiłem przepisać swoją aplikację z wykorzystaniem biblioteki, która pomaga w tworzeniu serwerów API w architekturze REST. Flask-RESTful – refactor istniejącego kodu Korzystanie z Flask-RESTful zacząłem od zainstalowania odpowiedniej biblioteki przy pomocy menadżera pip pip install flask-restful Teraz można przekształcać istniejący kod by korzystał z zalet Flask-RESTful.

WorkTimetable#7 – Stwórzmy ścieżki

WorkTimetable#7 – Stwórzmy ścieżki

W ostatnim wpisie dotyczącym projektu stworzyłem podstawowy projekt w Pythonie. Jednak z jedną ścieżką wiele nie zdziałam więc czas na zdefiniowanie ścieżek. Cały mój kod możecie zobaczyć i ściągnąć tutaj. Architektura REST Ścieżki zwane również endpoint’ami będą punktami do których będziemy się odwoływać w aplikacji żeby otrzymać lub dodać dane. W celu trzymania się pewnych standardów będę korzystał z architektury REST w której są dostępne 5 metody: GET – pobranie rekordu lub rekordów POST – dodanie nowego rekordu PUT – aktualizacja całego rekordu PATCH – aktualizacja pojedynczego pola w rekordzie DELETE – usunięcie pojedynczego rekordu lub rekordów Dodajmy własne ścieżki Mając tą podstawową wiedzę można budować już ścieżki w Pythonie.

WorkTimetable#6 – Pora na api w Pythonie

WorkTimetable#6 – Pora na api w Pythonie

Tak jak już pisałem wcześniej teraz chcę się zająć częścią serwerową aplikacji. Będę to pisał w Pythonie przy pomocy frameworka Flask. Dlaczego Python? Ponieważ jest to jeden z najpopularniejszych języków programowania na świecie, którego można użyć do naprawdę wielu rzeczy między innymi machine learning, analiza danych, tworzenie modeli statystycznych, tworzenie API itd. Powoduje to, że jest to dość ciekawa propozycja do nauki. Zanim jeszcze przejdę do części właściwej wpisu muszę ostrzeć, że jestem kompletnie zielony w tym temacie i wszystko co tutaj napisałem powstało na bazie moich prób.

Symfony#2 – Serwer REST

Ostatnimi czasy widzę rosnący trend rozdzielania części frontowej i backendowej aplikacji internetowej. Takie rozdzielenie warstw pozwala na dużą elastyczność w projektowaniu aplikacji. Część backendowa jest aktualnie sprowadzona do serwera REST na który wysyła się zapytania z części frontowej. Dziś chciałbym krótko pokazać jak stworzyć w Symofny taki prosty serwer REST. Będę go potem wykorzystywał w cyklach dotyczących framework’ów frontendowych. Symfony REST Symfony jest doskonale przystosowany do pełnienia roli serwera REST.