Python: FastAPI tworzenie REST API

Czas trwania szkolenia:3 dni (24h)

Kod kursu:PYTHON/FASTAPI

Poziom zaawansowania:
web-applicationfastapi

Szkolenie na zamówienie

Szkolenie dostosowane do potrzeb Twojego zespołu.
Dostępne wyłącznie na zamówienie

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Icon with laptop

O szkoleniu Python: FastAPI tworzenie REST API

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

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-response
  • 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
  • Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
  • Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
  • Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how

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 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

Podobne szkolenia