1. Giới thiệu về FastAPI
1.1. FastAPI là gì?
FastAPI là một framework mạnh mẽ cho phép bạn nhanh chóng tạo ra API (giao diện lập trình ứng dụng) bằng ngôn ngữ lập trình Python. FastAPI giúp lập trình viên xây dựng các ứng dụng web kết nối dữ liệu một cách dễ dàng và hiệu quả.
1.2. Đặc điểm nổi bật của FastAPI
- Hiệu suất cao: FastAPI có khả năng xử lý hàng nghìn yêu cầu mỗi giây mà không gặp phải vấn đề chậm trễ.
- Dễ sử dụng: Bạn chỉ cần viết vài dòng mã để tạo ra một API đầy đủ chức năng.
- Kiểm tra dữ liệu tự động: FastAPI tự động xác thực dữ liệu đầu vào để đảm bảo chúng đúng định dạng, giúp giảm thiểu lỗi lập trình.
- Tài liệu tự động: Framework này tự động tạo tài liệu cho API, giúp người dùng dễ dàng hiểu và thử nghiệm các tính năng của API.
1.3. So sánh FastAPI với các Framework khác
FastAPI vs Flask/Django:
- Hiệu suất: FastAPI nhanh hơn nhiều so với Flask và Django. Flask có nhẹ nhưng hạn chế trong việc hỗ trợ async. Django mạnh mẽ nhưng nặng nề và cần nhiều cấu hình hơn.
- Tính năng: FastAPI cung cấp nhiều tính năng hiện đại như kiểm tra dữ liệu tự động, tạo tài liệu API tự động và hỗ trợ async, trong khi Flask và Django cần cài thêm thư viện bên ngoài.
- Độ phức tạp: FastAPI thường đơn giản hơn và dễ cấu hình hơn so với Django, nhưng mạnh mẽ hơn Flask trong việc xử lý các tính năng phức tạp.
1.4. Ví dụ nhanh với FastAPI
Ví dụ dưới đây mô tả cách tạo một ứng dụng web đơn giản với FastAPI để trả về lời chào:
python
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, World!"}
Khi chạy ứng dụng và truy cập http://localhost:8000/, bạn sẽ nhận được kết quả:
json
{"message": "Hello, World!"}
Ngoài ra, tài liệu API tự động được hiển thị tại http://localhost:8000/docs giúp bạn kiểm tra và thử nghiệm dễ dàng.
2. Chuẩn bị Môi Trường cho FastAPI
2.1. Cài đặt Python
- Đảm bảo bạn đã cài đặt Python 3.7 trở lên.
- Tải Python từ trang chính thức tại: https://www.python.org/downloads/
Tác giả thường sử dụng pyenv để dễ dàng quản lý phiên bản Python. Tham khảo hướng dẫn trên Youtube để biết cách cài đặt.
2.2. Cài đặt pip
- Pip là trình quản lý gói của Python. Kiểm tra xem pip đã được cài đặt chưa bằng lệnh:
pip --version
Nếu chưa, bạn có thể cài đặt pip bằng lệnh:
python -m ensurepip --default-pip
Cập nhật pip lên phiên bản mới nhất:
python -m pip install --upgrade pip
2.3. Tạo Môi Trường Ảo
- Môi trường ảo giúp bạn quản lý gói Python cho từng dự án mà không gây xung đột. Hãy tạo luôn một thư mục
.venv
cho project của bạn:
python -m venv .venv
Kích hoạt môi trường ảo:
- macOS/Linux:
source .venv/bin/activate
- Windows:
.venv\Scripts\activate
2.4. Cài đặt FastAPI và Uvicorn
- Cài đặt FastAPI và Uvicorn bằng lệnh:
pip install fastapi uvicorn
3. Chạy Ứng Dụng FastAPI Đầu Tiên
3.1. Tạo file main.py
Tạo file main.py
trong dự án của bạn. Thêm đoạn mã sau:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
3.2. Chạy Ứng Dụng
Mở terminal và di chuyển đến thư mục chứa file main.py
, sau đó chạy:
uvicorn main:app --reload
3.3. Kiểm tra kết quả
Mở trình duyệt và truy cập http://127.0.0.1:8000 hoặc http://localhost:8000 để thấy kết quả: { "Hello": "World" }
. Để xem tài liệu API, truy cập: http://127.0.0.1:8000/docs.
4. Kết thúc
Hôm nay bạn đã tìm hiểu về FastAPI và cách cài đặt môi trường. Ở bài học tiếp theo, bạn sẽ khám phá Request, Response, Routing và các phương thức HTTP.
source: viblo