Python: FastAPI tworzenie REST API
LICZBA DNI: 2 (16h)
KOD KURSU: PYTHON/FASTAPI
Weź udział w szkoleniu
Termin
Lokalizacja
Cena / os
30
sierpnia
Warszawa,
Zdalne,
Termin
30
sierpnia
Lokalizacja
Warszawa,
Zdalne,
Cena / os
Powiadom
o kolejnych terminach
O szkoleniu
DLA KOGO?
Programiści Python
Programiści innych języków
WYMAGANIA
Szkolenie nie jest dla początkujących, chociaż przyswojenie nowej składni nie powinno być problemem dla osób nawet z niewielkim doświadczeniem programistycznym
Mile widziana znajomość protokołu HTTP i modelu request-reponse
Mile widziana umiejętność poruszania się w środowisku Linux
ZALETY
W trakcie szkolenia uczestnicy stworzą przykładową aplikację gotową do użycia i wdrożenia na serwer
Cele szkolenia
Opanowanie elementów frameworka FastAPI, odpowiadających za obsługę zapytań HTTP
Zdobycie wiedzy dotyczącej uruchamiania aplikacji FastAPI w środowisku produkcyjnym
Poznanie mechanizmów FastAPI odpowiedzialnych za testowanie aplikacji
Program
Wprowadzenie do FastAPI
- Instalacja FastAPI i środowiska uruchomieniowego
- Wbudowany serwer HTTP (nasłuchiwanie lokalne oraz na wszystkich interfejsach)
- IDE oraz narzędzia dla programistów
Protokół HTTP
- Request-Response
- Metody protokołu (czasowniki HTTP)
- Nagłówki żądań i odpowiedzi
- Statusy
- Mimetype
- Uwierzytelnianie
- Pobieranie danych z serwera
- Przesyłanie danych do serwera
- Debugging
- HTTPS
- Uwierzytelnianie
Type annotations
- Typy
- Sekwencje
- Mapy
- Funkcje
- Klasy
Projekty FastAPI
- Konwencja nazewnicza
- Podział projektu na wiele plików
- Mechanizm importów
- Reużywalność
- Wersjonowanie API
Schematy Pydantic
- Omówienie Pydantic
- Tworzenie schematów
- Konwersja i walidacja
Widoki synchroniczne
- URL Routing
- Obsługa zapytań GET, POST, PUT, DELETE
- Parametry w URL, parametry żądania
- Nagłówki zapytań i odpowiedzi
- Schematy wejściowe i wyjściowe
- Kody statusu, tagi
Dokumentacja
- Swagger, redoc
- Korzystanie ze Swagger w procesie wytwarzania oprogramowania
Modele bazy danych
- Modele w SQL Alchemy
- Typy pól
- Relacje między modelami
- Parametry pól, unikalność, wartości null, indeks w bazie, wymagalność pól
- Migracje i ich obsługa
- Schematy dla modeli ORM
- Tworzenie prostych zapytań przy pomocy ORM
- Tworzenie obiektów, zapis do bazy, aktualizacja
- Pobieranie obiektów, filtrowanie, łączenie zapytań, sortowanie
- Podglądanie zapytań do bazy danych
Middleware
- Mechanizm przetwarzania żądań
- Tworzenie własnych middleware
Autoryzacja i uwierzytelnianie
- System uwierzytelniania JSON Web Token (JWT)
- Logowanie
- Mechanizm sesji
- Definiowanie uprawnień dla użytkownika i grup
- Ograniczanie dostępu do widoków
Websockets
- Omówienie technologii
- Prosta implementacja
Widoki asynchroniczne
- Korzystanie z widoków asynchronicznych
- Ograniczenia
- Biblioteki async
Testowanie API
- Debugging
- Fixtures
- CI/CD aplikacji FastAPI
Aplikacja FastAPI w środowisku produkcyjnym
- Uvicorn, ASGI (async WSGI)
- Docker i Kubernetes
Architektura mikroserwisowa
- Architektura mikroserwisowa
- Skalowalność
- BFF - Backend for Frontend
- API Gateway
- Load Ballancing
