Section 6: Controller และ Routing ขั้นสูง
- ออกแบบ Resource, Status Code และ Header ให้ถูกหลัก REST
- Route Parameter, Query String และ Pipe แปลงชนิดข้อมูล
- รูปแบบ Route แบบใหม่ที่ใช้ชื่อพารามิเตอร์สำหรับ Wildcard
- API Versioning ผ่าน URI หรือ Header
- Custom Decorator สำหรับดึงข้อมูลจาก Request
Section 7: Lab: DTO และ Validation
- ValidationPipe กับ class-validator และ class-transformer
- whitelist, transform และ Mapped Types เช่น PartialType
- StandardSchemaValidationPipe กับ Zod ที่มาใหม่ใน NestJS 12
- เลือกแนวทาง Validation ให้เหมาะกับโปรเจกต์และทีม
- Lab: ตรวจข้อมูลสินค้าและคำสั่งซื้อครบทุก Endpoint
Section 8: Interceptor, Exception Filter และ Serialization
- Interceptor สำหรับ Logging, วัดเวลา และจัดรูปแบบ Response
- Exception Filter กลางสำหรับแปลง Error ของฐานข้อมูล
- ซ่อนฟิลด์ที่ไม่ควรส่งออกด้วย Serialization
- ลำดับการทำงานของ Middleware, Guard, Interceptor และ Pipe
Section 9: เอกสาร API ด้วย OpenAPI
- ติดตั้ง @nestjs/swagger และเปิดหน้าเอกสาร Swagger UI
- ใช้ CLI Plugin ลด Decorator ที่ต้องเขียนซ้ำ
- อธิบาย DTO, Response และการยืนยันตัวตนแบบ Bearer ในเอกสาร
- ส่งออกไฟล์ OpenAPI ให้ทีม Frontend สร้าง Client ต่อได้
Section 10: Workshop: RESTful API ร้านค้าออนไลน์
- API สินค้าและหมวดหมู่พร้อม Pagination, Filter และ Sorting
- API คำสั่งซื้อที่ทำงานภายใน Transaction
- Upload รูปสินค้าพร้อมตรวจขนาดและชนิดไฟล์ด้วย ParseFilePipe
- ทดสอบทุก Endpoint ผ่าน Swagger UI, Postman หรือ Bruno