Параметры пути и запроса
Изучите, как получать динамические данные из URL с помощью параметров пути и обрабатывать необязательные параметры запроса.
«Параметры пути и запроса» — бесплатный урок FastAPI Backend Development Bootcamp на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения FastAPI Backend Development Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс FastAPI Backend Development Bootcamp содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Dynamic URLs for APIs
APIs often carry data right in the URL — fetching a product by ID or filtering a list. FastAPI gives you clean ways to capture that. Let's dig in.
Meet Path Parameters
Path parameters are URL segments that pin down a specific resource, written in curly braces like /items/{item_id}. Perfect for one exact item.
Your First Path Parameter
Match a path segment to a function arg by name: /items/{item_id} maps to item_id. The type hint int auto-converts it.
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id, "message": "Here is your item!"}Power of Type Hints
Type hints like item_id: int drive validation. Hit /items/abc and FastAPI returns a clean error automatically. Use str, int, float, bool, UUID.
Handling Multiple Paths
You can take several path parameters in one route. FastAPI matches them by name, so the order in your function signature doesn't matter.
from fastapi import FastAPI
app = FastAPI()
@app.get("/users/{user_id}/items/{item_id}")
async def read_user_item(user_id: int, item_id: str):
return {"user_id": user_id, "item_id": item_id}What are Query Parameters?
Query parameters are key-value pairs after a ?, like /items?skip=0&limit=10. They are optional — ideal for filtering, paging, or sorting.
Your First Query Parameter
Any function arg that is not in the path becomes a query parameter automatically. Here, skip and limit are typed integers.
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items(skip: int = 0, limit: int = 10):
return {"skip": skip, "limit": limit}Optional Queries & Defaults
Make a query parameter optional by giving it a default. For a None default, type it as Optional[str] so FastAPI knows it may be missing.
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/products/")
async def read_products(q: Optional[str] = None, page_size: int = 20):
results = {"page_size": page_size}
if q:
results.update({"search_query": q})
return resultsPath + Query Power
Combine both: path parameters are required, query parameters stay optional with defaults. FastAPI sorts out which is which seamlessly.
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/users/{user_id}/orders/")
async def get_user_orders(user_id: int, status: Optional[str] = None, limit: int = 10):
return {"user_id": user_id, "status": status, "limit": limit, "message": "User orders fetched."}Quick Check on Parameters
Consider the following FastAPI endpoint:
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/books/{book_id}")
async def get_book(book_id: int, author: str = "Unknown", published_year: Optional[int] = None):
return {
"book_id": book_id,
"author": author,
"published_year": published_year
}Which of the following URLs would successfully call this endpoint and return a published_year?
Recap: Dynamic API Routes
Great work! You made routes dynamic with path parameters for required IDs, query parameters for optional filters, and type hints for free validation.
Часто задаваемые вопросы
Урок «Параметры пути и запроса» бесплатный?
Да — полный текст урока «Параметры пути и запроса» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс FastAPI Backend Development Bootcamp, подпишись на CoddyKit PRO. Курс FastAPI Backend Development Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Параметры пути и запроса»?
Изучите, как получать динамические данные из URL с помощью параметров пути и обрабатывать необязательные параметры запроса. Ты практикуешь FastAPI Backend Development Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать FastAPI Backend Development Bootcamp?
Предыдущий опыт не требуется. FastAPI Backend Development Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Параметры пути и запроса»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке FastAPI Backend Development Bootcamp?
Да. Каждый урок FastAPI Backend Development Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Введение в FastAPI и настройка
- Ваша первая конечная точка API
- Параметры пути и запроса
- Интерактивная документация API с Swagger UI