Tworzenie REST API w Pythonie

3350 PLN+23% VAT (4120 PLN brutto / 1 os.)

Czas trwania szkolenia:3 dni (24h)

Kod kursu:PYTHON/RESTAPI

Poziom zaawansowania:
web-applicationfastapi

Dostępne terminy

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

20 maj
Trwają zapisy na szkolenieOferta specjalna

Trener:

Patryk Palej

Cena:

3350 PLN netto+23% VAT

Lokalizacja:

Zdalne
Zdalne

Termin:

16 wrzesień
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

3350 PLN netto+23% VAT

Lokalizacja:

Zdalne
Zdalne

Interesuje Cię szkolenie stacjonarne lub nie odpowiada Ci żaden z dostępnych terminów?

Ikona pytaniaZapytaj o szkolenie

O szkoleniu Tworzenie REST API w Pythonie

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?

  • Programistów Python
  • Programistów 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ść podstawowych zapytań SQL
  • 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
  • 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

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

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

Podobne szkolenia