FastAPI là một framework web hiện đại, có hiệu suất cao có thể được sử dụng để xây dựng API với Python (phiên bản 3.8+) dựa trên các kiểu gợi ý chuẩn của Python. Với nhiều nhà phát triển dựa vào FastAPI cho framework Python tiêu chuẩn có hiệu suất rất cao (dựa trên OpenAPI và sơ đồ JSON), nó ngày càng trở nên phổ biến vì là công cụ phát triển API được các nhà phát triển ưa chuộng.
Nếu bạn đang tìm kiếm một giải pháp thay thế cho công cụ API trước đây của mình, hãy xem xét Apidog hôm nay - Apidog cung cấp một giao diện người dùng đơn giản và trực quan cực kỳ dễ sử dụng. Bắt đầu sử dụng Apidog ngay hôm nay bằng cách nhấp vào nút bên dưới! 👇 👇 👇
Để các API làm việc cùng với các máy chủ, các khách hàng cần có khả năng giao tiếp với các API. Do đó, phía khách hàng sử dụng tham số truy vấn (và tham số đường dẫn tùy thuộc vào tình huống) để yêu cầu một số dữ liệu với sự giúp đỡ của địa chỉ web. Do đó, bài viết này sẽ giải thích thêm về các tham số truy vấn FastAPI là gì, và cách bạn có thể sử dụng chúng cho các ứng dụng.
Tham số truy vấn FastAPI là gì?
Các tham số truy vấn FastAPI chủ yếu đề cập đến các tham số truy vấn thông thường được sử dụng trong bối cảnh của framework FastAPI. Chúng là một phương pháp khác để các khách hàng truyền tải thông tin bổ sung đến các điểm cuối API thông qua một địa chỉ web (hay URL).

Các tính năng chính của các tham số truy vấn FastAPI
Có một vài biến thể nhỏ về cách bạn có thể truy cập các tham số truy vấn FastAPI khi so sánh với các loại tham số truy vấn khác.
Được khai báo trong các tham số hàm: Không giống như các tham số đường dẫn, là một phần của chính đường dẫn URL, các tham số truy vấn được định nghĩa như là các tham số hàm bên trong điểm cuối API của bạn. Bất kỳ tham số nào không được khai báo rõ ràng là tham số đường dẫn sẽ được coi là tham số truy vấn.
Truy cập qua hàm Query
: Để truy cập các tham số truy vấn trong hàm điểm cuối của bạn, bạn sử dụng hàm Query
từ thư viện fastapi
. Hàm này có thể nhận một số đối số, bao gồm:
default
: Một giá trị mặc định sẽ được sử dụng nếu tham số không được cung cấp trong yêu cầu.description
: Một mô tả về tham số cho mục đích tài liệu.
Tùy chọn và bắt buộc: Các tham số truy vấn có thể là tùy chọn hoặc bắt buộc. Bằng cách đặt một giá trị mặc định, bạn làm cho tham số trở nên tùy chọn. Bỏ qua giá trị mặc định làm cho nó trở thành bắt buộc đối với khách hàng phải cung cấp tham số trong yêu cầu.

Ví dụ về cách sử dụng các tham số truy vấn FastAPI (bao gồm mã mẫu)
[Lưu ý rằng các mã mẫu được cung cấp trong phần này cần chỉnh sửa, vì chúng có thể không phù hợp với yêu cầu mã của bạn]
1. Phân trang
Bạn có thể sử dụng các tham số truy vấn FastAPI để tách biệt lượng lớn bản ghi hoặc items và phân chia chúng thành các nhóm nhỏ hơn. Điều này có thể ngăn người dùng bị choáng ngợp bởi quá nhiều thông tin cùng một lúc.
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/items")
async def get_items(skip: int = Query(default=0), limit: int = Query(default=10)):
# Logic để truy xuất các items từ cơ sở dữ liệu dựa trên các giá trị skip và limit
return items
Giải thích thêm:
Trong ví dụ mã này, skip
và limit
là các tham số truy vấn. Theo mặc định, nó sẽ trả về 10 items đầu tiên (bị giới hạn bởi limit
). Một cách khả thi để điều chỉnh các giá trị này trong URL sẽ là một cái gì đó như:
http://localhost:8000/items?skip=10&limit=20
Điều này sẽ truy xuất các items từ chỉ số 10 (bỏ qua 10 item đầu tiên) đến chỉ số 29 (bị giới hạn bởi 20).
2. Lọc
Các tham số truy vấn FastAPI có thể được sử dụng để lọc dữ liệu dựa trên các tiêu chí nhất định.
Ví dụ mã bên dưới minh họa một tham số truy vấn FastAPI để truy xuất sản phẩm.
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/products")
async def get_products(category: str | None = Query(default=None), price_from: float | None = Query(default=None), price_to: float | None = Query(default=None)):
# Logic để lọc sản phẩm dựa trên danh mục, phạm vi giá
return products
Giải thích thêm:
Các người dùng có thể chọn chỉ định một category
và một phạm vi giá ( price_from
và price_to
) để lọc danh sách sản phẩm được trả về.
3. Sắp xếp
Nhiều nhà phát triển cũng thấy các tham số truy vấn FastAPI phù hợp để sắp xếp dữ liệu.
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/users")
async def get_users(sort_by: str = Query(default="name", choices=["name", "created_at"])):
# Logic để sắp xếp người dùng dựa trên tham số sort_by được cung cấp
return users
Giải thích thêm:
Các người dùng có thể chọn cách sắp xếp danh sách người dùng được trả về bởi API bằng cách sử dụng name
hoặc created_at
với tham số truy vấn sort_by
.
4. Tìm kiếm
Các tham số truy vấn FastAPI được cho là hữu ích để thực hiện chức năng tìm kiếm trong nhiều ứng dụng web.
Với các tham số truy vấn FastAPI, bạn có thể nhanh chóng thu thập một thuật ngữ tìm kiếm với mã sau:
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/search")
async def search(q: str = Query(default="")):
# Logic để tìm kiếm các tài nguyên dựa trên thuật ngữ tìm kiếm (q)
return search_results
Giải thích thêm:
Các người dùng có thể tìm kiếm các tài nguyên cụ thể bằng cách cung cấp một thuật ngữ tìm kiếm trong tham số q
.
Để tìm hiểu thêm về cách bạn có thể làm việc với các tham số truy vấn FastAPI, hãy truy cập trang web của họ.
Apidog - Giải pháp vượt trội thay thế FastAPI
Một giải pháp thay thế tuyệt vời cho việc phát triển API thay cho FastAPI là Apidog.
Apidog và FastAPI chia sẻ nhiều tính năng có lợi như giao diện người dùng dễ dàng và trực quan cùng với tiêu chuẩn cấp ngành web. Tuy nhiên, điều mà Apidog nổi bật hơn là các tính năng bổ sung mà FastAPI không có.

Tự động tạo mã client bằng Apidog
Apidog hỗ trợ cả nhà phát triển API mới và có kinh nghiệm bằng cách tạo mã client bằng nhiều ngôn ngữ lập trình khác nhau.

Tìm nút </>
nằm ở góc trên bên phải của cửa sổ Apidog. Sau khi nhấn nút này, hãy nhấp vào Tạo mã client
để tiếp tục.

Từ hình ảnh trên, bạn có thể thấy một shell mã giúp bạn truy cập mã có sẵn. Tất cả những gì bạn cần làm là sao chép và dán mã vào nền tảng lập trình của bạn. Bạn có thể tạo mã bằng nhiều ngôn ngữ lập trình, chẳng hạn như Python, JavaScipt, Shell và Java.
Mô phỏng các tình huống thử nghiệm thực tế bằng Apidog
Apidog cho phép bạn mô phỏng các tình huống thực tế bằng cách thêm nhiều bước vào một trường hợp thử nghiệm, và chọn môi trường phù hợp cho các API của bạn.

Đầu tiên, tìm nút Kiểm tra
được chỉ ra bởi Mũi tên 1 trong hình ảnh trên. Sau đó, bạn sẽ thấy + Tình huống thử nghiệm mới
, được chỉ ra bởi Mũi tên 2.

Điền các chi tiết cần thiết về tình huống thử nghiệm của bạn tại đây. Hãy chắc chắn rằng các tên là dễ hiểu để bạn không phải đoán khi bạn quên tình huống thử nghiệm là gì.

Thêm bước vào tình huống thử nghiệm của bạn bằng cách nhấp vào phần "Thêm Bước". Bạn sẽ thấy hình ảnh bên dưới.

Chọn Nhập từ API
từ menu thả xuống.

Chọn tất cả các API mà bạn muốn đưa vào tình huống thử nghiệm của mình. Trong ví dụ trên, API có tên NumberConversionSOAP
đã được đưa vào.

Trước khi nhấn nút Chạy
để bắt đầu tình huống thử nghiệm của bạn, hãy chắc chắn thay đổi môi trường tình huống thử nghiệm, điều này nên được để là Môi trường Kiểm tra
, như được chỉ ra bởi Mũi tên 1.
Hãy thử và xem liệu API của bạn có đáp ứng đủ yêu cầu của bạn không!
Tạo tài liệu cho các yêu cầu trong Apidog
Apidog hỗ trợ tạo tài liệu API cho các nhà phát triển API chỉ dựa trên những gì họ đã thực hiện trong các dự án của mình.

Để bắt đầu, trước tiên hãy tìm nút "Chia sẻ" như được chỉ ra bởi Mũi tên 1, và nhấn nút "+ Mới" như được chỉ ra bởi Mũi tên 2

Apidog cung cấp tùy chọn để chọn ai có thể xem tài liệu API của bạn cũng như thiết lập mật khẩu tệp, để chỉ những cá nhân hoặc tổ chức được chọn mới có thể xem.
Một khi tất cả các trường bắt buộc như tên tài liệu API và ngôn ngữ đã được điền, nhấn Enter
trên bàn phím của bạn hoặc nút Lưu
.
Xem hoặc chia sẻ tài liệu API của bạn

Apidog biên tập chi tiết dự án API của bạn thành một tài liệu API có thể xem được thông qua một URL trang web. Tất cả những gì bạn cần làm là nhấp vào liên kết Copy Link
bên dưới Actions
, và dán URL vào trình duyệt yêu thích của bạn để xem tài liệu API của bạn!
Nếu bạn quan tâm, hãy đọc bài viết này về cách tạo tài liệu API bằng Apidog.
Kết luận
Các tham số truy vấn FastAPI là một loại tham số truy vấn đặc biệt có thể được sử dụng với các API FastAPI. Tương tự như các tham số truy vấn khác, chúng thực hiện các chức năng tương tự, chẳng hạn như phân trang, lọc, tìm kiếm và sắp xếp. Không giống như các tham số truy vấn JavaScript Chúng khác nhau ở cách mà chúng được truy cập - bạn cần nhập các thư viện FastAPI và Query trước khi bạn có thể triển khai các tham số truy vấn FastAPI.
Apidog là một sự thay thế mạnh mẽ cho FastAPI như một công cụ phát triển API. Với các tính năng ấn tượng và hữu ích như tạo mã client, tài liệu API tự động và các tình huống thử nghiệm, Apidog là ứng dụng duy nhất bạn cần tải xuống.