Chào mừng bạn đến với bài học đầu tiên của khoá học Python FastAPI trực tuyến của chúng tôi. Trong bài học này, chúng ta sẽ bắt đầu với việc giới thiệu về FastAPI – một framework hiện đại, hiệu năng cao, dùng để xây dựng API với Python 3.6+.
Tại sao chọn FastAPI?
FastAPI đang ngày càng được các dự án phát triển phần mềm yêu thích vì nhiều lý do. FastAPI được thiết kế để dễ sử dụng nhưng vẫn duy trì được hiệu suất cao.
Dưới đây là một số lý do chính:
- Tốc độ xử lý nhanh: FastAPI là một trong những framework Python nhanh nhất hiện có. Chỉ chậm hơn Starlette và Uvicorn khi được sử dụng như một máy chủ ASGI độc lập.
- Dễ sử dụng: FastAPI được thiết kế để dễ dàng và trực quan, trong khi cung cấp nhiều tính năng/thư viện tiện nghi để bạn có thể sử dụng bất cứ lúc nào chỉ với 1 dòng
import. - Nhanh chóng trong việc code: FastAPI tăng tốc độ của lập trình viên khoảng 200% đến 300% (2x đến 3x lần). Điều này là do FastAPI dễ sử dụng và có các giá trị mặc định hợp lý.
- Kiểm tra kiểu (type): FastAPI dựa trên type hints của Python 3.6+. Điều này có nghĩa là bạn có được lợi ích của việc kiểm tra kiểu, có thể ngăn chặn lỗi và cải thiện năng suất làm việc của bạn.
Nguyên tắc của FastAPI: ASGI, Starlette, và Pydantic
FastAPI dựa trên những nguyên tắc vững chắc: Starlette cho phần web và Pydantic cho phần dữ liệu.
- ASGI (Asynchronous Server Gateway Interface): Đây là kế thừa của WSGI và là giao diện chuẩn giữa các máy chủ Python, frameworks và ứng dụng hỗ trợ async. ASGI cung cấp tiêu chuẩn cho concurrency async trong Python và cho phép tăng tốc độ, là nền tảng cho websockets.
- Starlette: FastAPI được xây dựng trên Starlette. Starlette là một framework ASGI nhẹ, lý tưởng để xây dựng microservices hiệu năng cao.
- Pydantic: Pydantic cung cấp validation dữ liệu bằng cách sử dụng type annotations của Python. FastAPI sử dụng công cụ này cho việc chuyển đổi dữ liệu.
Cài đặt và Thiết lập
Để bắt đầu, bạn có thể cài đặt FastAPI bằng lệnh pip dưới đây:
pip install fastapi
Chú ý: FastAPI cần Python phiên bản 3.6 trở lên.
Bạn cũng cần cài một web server support ASGI. Uvicorn là lựa chọn phổ biên. Uvicorn cung cấp hot reload, để bạn chỉ việc code liên tục mà ko cần khởi động lại server.
Để cài đặt uvicorn, sử dụng lệnh sau:
pip install uvicorn
Sau khi FastAPI và Uvicorn đã được cài đặt, bạn có thể tạo ứng dụng FastAPI đầu tiên của mình. Đặt đoạn mã sau trong file main.py trong thư mục của dự án:
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
Để chạy ứng dụng, trên terminal hoặc command prompt/line, điều hướng đến thư mục chứa file main.py và chạy lệnh:
uvicorn main:app --reload
Truy cập http://localhost:8000 trên trình duyệt web và bạn sẽ thấy phản hồi từ API trên: {"Hello": "World"}
Tóm tắt và Trắc nghiệm
Xin chúc mừng, bạn đã tạo ra ứng dụng FastAPI đầu tiên của mình! Trong bài học này, chúng tôi đã giới thiệu cho bạn về framework FastAPI, khám phá tại sao nó là sự lựa chọn phổ biến giữa các nhà phát triển Python, thảo luận về các nguyên tắc cơ bản của nó, và thiết lập một ứng dụng FastAPI cơ bản.
Để củng cố những gì bạn đã học, hãy trả lời các câu hỏi sau:
Trong bài học tiếp theo, chúng tôi sẽ đi sâu vào các kiến thức cơ bản của Python để tăng cường kỹ năng Python của bạn. Hãy chờ cập nhật mới nhất nhé!
