Apidog

Nền tảng phát triển API hợp tác tất cả trong một

Thiết kế API

Tài liệu API

Gỡ lỗi API

Giả lập API

Kiểm thử API tự động

Hướng dẫn: Tham số truy vấn FastAPI là gì và cách sử dụng chúng như thế nào?

Tham số truy vấn FastAPI là một loại tham số truy vấn đặc biệt đòi hỏi thêm thư viện FastAPI và Query để truy cập. Hãy tìm hiểu cách tạo mã để phân trang, lọc, sắp xếp và tìm kiếm bằng các tham số truy vấn FastAPI tại đây!

Minh Triết

Minh Triết

Updated on tháng 11 29, 2024

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.

💡
Apidog là một nền tảng phát triển API tất cả trong một cung cấp các chức năng để xây dựng API từ đầu. Apidog tạo điều kiện cho toàn bộ vòng đời phát triển API khi người dùng có thể xây dựng, thiết kế, kiểm tra, giả lập và tài liệu hóa API.

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! 👇 👇 👇
button

Để 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).

fastapi website
Trang web FastAPI

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.

fastapi query parameter api documentation
Hướng dẫn tham số truy vấn của FastAPI

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, skiplimit 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_fromprice_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ó.

apidog functionalities api design development platform
Tất cả các chức năng của Apidog: xây dựng, kiểm tra, giả lập và tài liệu hóa.

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.

code generation button apidog
Nút tạo mã trên Apidog

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.

generate pythoon api client code apidog
Tạo mã client Python với Apidog

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.

initialize new test scenario apidog
Khởi tạo một tình huống thử nghiệm mới trên Apidog

Đầ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.

description new test scenario apidog
Điền mô tả cho tình huống thử nghiệm mới

Đ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ì.

add step new test scenario api apidog
Thêm bước vào tình huống thử nghiệm

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.

select import from api soap apidog
Chọn "Nhập từ APIs"

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

add soap api web service test case scenario apidog
Thêm tất cả các API vào tình huống thử nghiệm của bạn

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.

edit testing environment start run test scenario apidog
Đặt Môi trường thành "Môi trường Kiểm tra" và nhấn "Chạy" để bắt đầu kiểm tra

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.

step by step process sharing api documentation apidog
Tài liệu REST API có thể chia sẻ trên Apidog

Để 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

input api details and select api doc properties apidog
Nhập và chọn các thuộc tính tài liệu API với Apidog 

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
open share edit api documentation apidog
Tài liệu API đã sẵn sàng để xem

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.