Query parameters are values passed after ? in the URL. They are commonly used for filtering, searching, sorting, and pagination.
For example:
/users?name=Tarun&age=25
Here, name and age are query parameters.
Code
from fastapi import FastAPI
app = FastAPI()
@app.get("/users")
def get_users(
name: str,
age: int
):
return {
"name": name,
"age": age
}
Understanding the Code
The endpoint is:
@app.get("/users")
The function accepts two parameters:
def get_users(
name: str,
age: int
):
FastAPI treats these as query parameters because they are not included inside the URL path.
The name parameter is a string:
name: str
The age parameter is an integer:
age: int
FastAPI uses these type declarations to validate the incoming values.
Example Request
You can call the API using:
GET /users?name=Tarun&age=25
The query parameters are:
name = Tarun
age = 25
Output
{
"name": "Tarun",
"age": 25
}
Query Parameters vs Path Parameters
Query parameters are passed after ?:
/users?name=Tarun&age=25
Path parameters are included directly in the URL:
/users/10
Query parameters are commonly useful when you need to filter, search, sort, or paginate API results.