PY-API
Python: FastAPI API fejlesztés
Ismertető
A tanfolyam célja, hogy a résztvevőket bevezesse az API fejlesztésbe Python alapokon, FastAPI keretrendszerrel. A résztvevők megismerkednek egy modern webes keretrendszerrel, és rajta keresztül a legfontosabb, gyakran használt műveletekkel, valamint betekintést nyernek az API dokumentáció és tesztelés világába is.
A FastAPI egy modern, gyors (nagy teljesítményű), Python 3.7+ alapú webes keretrendszer API-k építésére, amely Python type hint-eket használ. A tanfolyam során a résztvevők megtanulják a FastAPI alapjait, az aszinkron programozás alapelveit, a Pydantic modellek használatát, valamint a teljes körű REST API fejlesztést adatbázis-integrációval.
A képzés gyakorlatorientált megközelítést alkalmaz: a résztvevők CRUD műveleteket implementálnak, adatbázissal dolgoznak SQLModel segítségével, biztonságos API-kat készítenek, valamint megtanulják az automatikus API dokumentáció használatát. A tanfolyam végére a résztvevők képesek lesznek production-ready FastAPI alkalmazások fejlesztésére, amelyek gyorsak, típusbiztosak és jól dokumentáltak.
Kinek ajánljuk?
A tanfolyamot Python fejlesztőknek ajánljuk, akik modern API fejlesztést szeretnének tanulni.
Ez a tanfolyam neked szól, ha:
- rendelkezel Python ismeretekkel,
- backend API fejlesztést szeretnél tanulni,
- modern, gyors keretrendszert keresel,
- aszinkron programozást szeretnél alkalmazni,
- type-safe API-kat szeretnél fejleszteni,
- automatikus API dokumentációt szeretnél használni,
- mikroszolgáltatásokat szeretnél építeni,
- Flask-ről vagy Django-ról szeretnél áttérni FastAPI-ra,
- production-ready alkalmazásokat szeretnél fejleszteni.
Előnyök
A FastAPI tanfolyam előnyei
- Modern keretrendszer: A FastAPI az egyik leggyorsabb Python webes keretrendszer.
- Automatikus dokumentáció: Beépített OpenAPI és Swagger UI támogatás.
- Aszinkron működés:
async/awaittámogatás a nagy teljesítményű alkalmazásokhoz. - Validáció: Automatikus request és response validáció Pydantic segítségével.
- Produktív fejlesztés: Gyors fejlesztési folyamat és kevesebb boilerplate kód.
- Karrierlehetőségek: Folyamatosan növekvő kereslet FastAPI fejlesztőkre.
Mit fogsz tudni a tanfolyam után?
- Python type annotationöket használsz,
- aszinkron programozást alkalmazol (
async/await), - megérted a Starlette keretrendszer működését,
- Pydantic modelleket használsz validációhoz,
- FastAPI alkalmazásokat készítesz,
- Uvicorn webszervert használsz,
- RESTful API-kat tervezel és implementálsz,
- API végpontokat készítesz,
- automatikusan generált OpenAPI dokumentációt használsz,
- query paramétereket és request body-kat kezelsz,
- CRUD műveleteket implementálsz,
- hibakezelést és HTTP státuszkódokat alkalmazol,
- cookie-kat kezelsz,
- SQLModel segítségével adatbázis-műveleteket végzel,
- biztonságos API-kat fejlesztesz,
- middleware-eket írsz,
- fájlfeltöltést implementálsz,
- háttérfolyamatokat használsz (pl. email küldés),
- API-kat tesztelsz (Bruno, OpenAPI UI).
Tematika
Python és FastAPI alapok
- Típus annotációk áttekintése (type hints, typing modul, generics)
- Az aszinkron működés (async/await, coroutines, event loop)
- Starlette (ASGI framework, FastAPI alapja)
- Pydantic model (data validation, settings management, modell definíció)
- A HTTP protokoll áttekintése (request/response, metódusok, fejlécek)
- A REST áttekintése (REST principles, resource-based architecture)
- A JSON formátum (JSON szintaxis, Python és JSON közötti konverzió)
- HTTP státuszkódok (2xx, 3xx, 4xx, 5xx kódok jelentése)
- FastAPI alkalmazás létrehozása (projekt inicializálás, első endpoint)
- Az Uvicorn webszerver (ASGI szerver, futtatás, konfiguráció)
- API végpontok létrehozása (path operations, HTTP metódusok)
- OpenAPI szabvány, API dokumentáció (automatikus Swagger UI, ReDoc)
- Információk küldése és fogadása a kérés fejlécében (headers)
- Paraméterek (path parameters, query parameters)
- Query stringek (query params validáció, opcionális paraméterek)
- Adatok küldése a request body-ban (request body, Pydantic modellek)
- Response modellek (response_model, status code)
- Hibakezelés (HTTPException, exception handlers)
- CRUD végpontok (Create, Read, Update, Delete)
- Adatok létrehozása (POST endpoint, validáció)
- Adatok lekérése (GET endpoint, lista és egyedi elem)
- Adatok frissítése (PUT, PATCH endpoint-ok)
- Adatok törlése (DELETE endpoint)
- Sütik kezelése (cookie parameters, response cookies)
- Űrlapadatok fogadása (form data)
- Fájlok feltöltése (File, UploadFile)
- Statikus fájlok kiszolgálása (StaticFiles middleware)
- Adatbázisok kezelése (SQL adatbázisok, kapcsolódás)
- SQLModel (SQLAlchemy + Pydantic, ORM műveletek)
- Adatbázis modellek létrehozása
- CRUD műveletek adatbázissal
- Migrációk (Alembic bevezetés)
- Biztonsági alapelvek (HTTPS, CORS, authentication)
- OAuth2 és JWT tokenek (authentication flow, bearer token)
- Middleware-ek (custom middleware, CORS middleware, trusted host)
- Dependency injection (Depends, security dependencies)
- Email küldés: háttérben futó folyamatok (BackgroundTasks)
- Aszinkron feladatok kezelése
- Alkalmazás tesztelése (TestClient, pytest)
- OpenAPI dokumentáció használata teszteléshez
- Bruno (API testing tool, request collections)
- Integration testing
Szükséges előképzettség
- Python szintaxis és nyelvi elemek haladó szintű ismerete
- Python függvények, osztályok és objektumorientált programozás
- Python type hints és type annotations használata (typing modul, generics)
- Aszinkron programozás alapfogalmai (async/await koncepciók)
- Dekorátorok működése és használata
- Python modulok és csomagok kezelése
- Virtuális környezetek (venv) használata
- Függőségkezelés (pip, requirements.txt)
- JSON formátum és Python dictionary-k közötti konverzió
- SQL nyelv alapjai (SELECT, INSERT, UPDATE, DELETE, WHERE, JOIN)
- Relációs adatbázisok alapfogalmai (táblák, mezők, kapcsolatok)
- HTTP protokoll alapismerete (GET, POST, PUT, DELETE metódusok)
- REST API alapfogalmak (endpoints, resources, requests, responses)
- Command line / terminal használata
- Szövegszerkesztő vagy IDE használata
A tanfolyam haladó szintű, tapasztalt Python fejlesztőknek készült, akik már rendelkeznek stabil Python alapismeretekkel és értik a type annotations használatát. A HTTP protokoll és REST API alapfogalmak ismerete segíti a tananyag megértését. Flask vagy Django ismeret előny, de nem kötelező, mivel a FastAPI más megközelítést alkalmaz.