Szkolenie: Tworzenie REST API w Pythonie
Szkolenie dotyczy tworzenia REST API z wykorzystaniem frameworka FastAPI.
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:PYTHON/RESTAPI
Tworzenie REST API w Pythonie
Cele szkolenia
Poznanie podstaw protokołu HTTP potrzebnych do stworzenia własnego REST API
Opanowanie elementów frameworka FastAPI, odpowiadających za obsługę zapytań HTTP
Nauka pracy z relacyjnymi bazami danych, w tym używając ORM
Dla kogo?
Programistów Python
Programistów innych języków
Zalety
W trakcie szkolenia uczestnicy stworzą przykładową aplikację gotową do użycia i wdrożenia na serwer
Możliwość przeprowadzenia szkolenia w oparciu o dwa różne frameworki - FastAPI lub Flask
Szkolenie przechodzi przez poszczególne etapy tworzenia REST API, którym odpowiadają kolejne commity w repozytorium
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ść podstawowych zapytań SQL
Mile widziana znajomość protokołu HTTP i modelu request-response
Mile widziana umiejętność poruszania się w środowisku Linux
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
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
Używanie Annotated
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 SQLAlchemy
Typy pól
Relacje między modelami
Parametry pól, unikalność, wartości null, indeks w bazie, wymagalność pól
Migracje schematów bazy za pomocą Alembic i ich obsługa
Schematy dla modeli ORM
Tworzenie 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 Balancing