Section 1: Lab: พื้นฐาน API, HTTP และ REST
- API คืออะไร และการทำงานของ Request กับ Response
- RESTful API กับ GET, POST, PUT, PATCH และ DELETE
- Status Code ที่ใช้บ่อยและรูปแบบข้อมูล JSON
- รู้จัก FastAPI และจุดเด่นเมื่อเทียบกับเฟรมเวิร์กอื่น
- Lab: เรียก API จริงด้วย Bruno หรือ Postman
Section 2: Lab: เริ่มโปรเจกต์ FastAPI ด้วย uv
- ติดตั้ง uv และให้ uv จัดการเวอร์ชัน Python
- สร้างโปรเจกต์และติดตั้ง fastapi[standard]
- รันเซิร์ฟเวอร์ด้วยคำสั่ง fastapi dev
- Endpoint แรก /hello และเอกสารอัตโนมัติที่ /docs
- Lab: API แรกที่ทดสอบผ่าน Swagger UI
Section 3: รับค่าและตรวจข้อมูลด้วย Pydantic
- รับค่าจาก Path, Query และ Request Body
- สร้าง Model ด้วย Pydantic และกำหนดเงื่อนไขด้วย Field
- กำหนดรูปแบบผลลัพธ์ด้วย response_model และ Status Code
- แจ้ง Error ด้วย HTTPException
- Lab: API ที่ตรวจข้อมูลก่อนบันทึก
Section 4: Lab: CRUD และจัดโครงสร้างโปรเจกต์
- CRUD แบบเก็บข้อมูลในหน่วยความจำด้วย list และ dict
- แยกไฟล์ด้วย APIRouter และจัดกลุ่ม Endpoint ด้วย tags
- Dependency Injection ด้วย Depends
- เก็บค่าตั้งด้วย Environment Variable
- Lab: ระบบจัดการสินค้าแบบ In-memory CRUD
Section 5: Lab: ฐานข้อมูลด้วย SQLModel
- รัน PostgreSQL 18 ด้วย Docker Compose
- สร้าง Table Model และ Model สำหรับรับส่งข้อมูลด้วย SQLModel
- Session แบบ Dependency และ Lifespan ของแอป
- CRUD กับฐานข้อมูลพร้อม Pagination
- Lab: ย้ายระบบจัดการสินค้ามาเก็บใน PostgreSQL