inflearn logo

Chinh phục toàn diện phát triển backend FastAPI - Pydantic v2, OAuth 2.0, SQLAlchemy

Khóa học này gồm 41 bài, kéo dài khoảng 22 giờ, hướng dẫn thiết kế và triển khai API backend bằng FastAPI. FastAPI là một framework dễ bắt đầu. Chỉ cần lướt qua tài liệu và viết vài dòng là API đã có thể chạy. Vấn đề nằm ở những bước tiếp theo. Nếu không biết request đi qua những đâu để đến được tham số của hàm, dependency được dọn dẹp khi nào, hay exception được bắt ở điểm nào, bạn sẽ nhanh chóng bế tắc khi ứng dụng trở nên phức tạp hơn. Khóa học này dành thời gian để lần theo cơ chế hoạt động bên trong đó. Khóa học bắt đầu với môi trường phát triển. Bạn sẽ tìm hiểu cả hai phương pháp conda và venv, đồng thời gửi request bằng VS Code REST Client và Swagger UI để làm quen với cấu trúc của HTTP request và response. Tiếp theo, khóa học phân biệt path parameter và query parameter, đồng thời giải thích lý do xảy ra lỗi 422 trong mối liên hệ với việc kiểm tra kiểu dữ liệu. Pydantic là phần được đào sâu nhất trong khóa học này. Sau khi tìm hiểu từ các kiểu vô hướng đến date, UUID, Decimal, Enum và Literal, khóa học chuyển sang BaseModel. Bạn sẽ thiết lập điều kiện bằng Field(), kiểm tra một hoặc nhiều field bằng @field_validator, đồng thời tìm hiểu sự khác biệt trong hoạt động giữa before và after của @model_validator. Vì khóa học dựa trên Pydantic v2, bạn có thể áp dụng trực tiếp cú pháp mới nhất vào công việc thực tế. Phần giữa khóa học tập trung vào việc cấu trúc hóa và dependency injection. Bạn sẽ lần lượt tìm hiểu cách chia tách file bằng APIRouter, cách sử dụng hàm và lớp làm dependency, Sub-dependency và dependency ở cấp decorator. Riêng yield được dành bốn bài để tìm hiểu. Khóa học đi sâu vào nguyên lý hoạt động của generator, quá trình truyền exception ngược lên call stack bằng raise, cũng như cách đưa exception vào vị trí yield bằng throw(). Khi hiểu được việc dọn dẹp tài nguyên diễn ra như thế nào trong dependency có chứa yield, bạn sẽ nắm rõ hơn cách quản lý DB session. Phần sau tập trung vào authentication và database. Khóa học tổng hợp các khái niệm về OAuth 2.0 và bốn Grant Type, sau đó triển khai việc phát hành và xác thực JWT, logic thực thi bên trong OAuth2PasswordBearer, cũng như kiểm soát quyền bằng Security() và scopes. Tiếp theo, bạn sẽ trực tiếp thiết lập client cho Google, Kakao và Naver, rồi tích hợp đăng nhập mạng xã hội theo phương thức Authorization Code Grant. Cuối cùng, khóa học tìm hiểu SQLAlchemy ORM, từ cấu trúc URL của create_engine, vai trò của Dialect và DBAPI, đến transaction, session, model và việc tạo table. Đây là khóa học phù hợp với những ai muốn biết không chỉ "đoạn code hoạt động" mà còn muốn hiểu "tại sao nó lại hoạt động như vậy".

1 học viên đang tham gia khóa học này

Độ khó Cơ bản

Thời gian Không giới hạn

FastAPI
FastAPI
Python
Python
REST API
REST API
pydantic
pydantic
SQLAlchemy
SQLAlchemy
FastAPI
FastAPI
Python
Python
REST API
REST API
pydantic
pydantic
SQLAlchemy
SQLAlchemy
Chưa có câu hỏi nào được đăng lên.
Hãy đăng câu hỏi đầu tiên và phát triển cùng Inflearn!

Ưu đãi có thời hạn

1.144.200 ₫

13%

1.320.231 ₫