← Назад ко всем вопросам

В чем разница между Path и Query параметром

1️⃣ Как кратко ответить

Path параметры являются частью URL и используются для идентификации ресурса, например, /users/{id}. Query параметры передаются в URL после знака вопроса ? и используются для фильтрации или сортировки данных, например, /users?id=123&sort=asc.

2️⃣ Подробное объяснение темы

Path и Query параметры — это два способа передачи данных в URL, которые используются для различных целей в веб-приложениях и API.

Path параметры:

  • Path параметры являются частью пути URL и обычно используются для идентификации конкретного ресурса. Например, в URL /users/123, 123 — это path параметр, который может представлять идентификатор пользователя.
  • Path параметры часто используются в RESTful API для указания ресурса, с которым нужно взаимодействовать. Они помогают серверу понять, какой именно ресурс запрашивается.
  • Пример использования: если у вас есть API для получения информации о пользователе, URL может выглядеть как /users/{userId}, где {userId} — это path параметр, который заменяется на конкретный идентификатор пользователя, например, /users/123.

Query параметры:

  • Query параметры передаются в URL после знака вопроса ? и используются для передачи дополнительных данных, которые могут влиять на обработку запроса. Они не являются частью пути, а добавляются к нему.
  • Query параметры часто используются для фильтрации, сортировки, пагинации и других операций, которые не изменяют идентификатор ресурса, но влияют на то, как данные возвращаются или обрабатываются.
  • Пример использования: если вы хотите получить список пользователей, отсортированных по имени, URL может выглядеть как /users?sort=name. Здесь sort=name — это query параметр, который указывает, что список пользователей должен быть отсортирован по имени.

Пример кода:

import requests
​
# Пример использования path параметра
# URL для получения информации о пользователе с ID 123
path_url = "https://api.example.com/users/123"
response = requests.get(path_url)
print(response.json())  # Получение данных о пользователе с ID 123
​
# Пример использования query параметров
# URL для получения списка пользователей, отсортированных по имени
query_url = "https://api.example.com/users"
params = {'sort': 'name'}
response = requests.get(query_url, params=params)
print(response.json())  # Получение отсортированного списка пользователей
  • В первом примере path_url используется path параметр 123 для получения информации о конкретном пользователе.
  • Во втором примере query_url используется query параметр sort=name для получения списка пользователей, отсортированных по имени.

Path параметры помогают идентифицировать конкретные ресурсы, тогда как query параметры позволяют модифицировать или уточнять запросы без изменения идентификатора ресурса.

Тема: API и протоколы
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки