Виды параметров в REST запросах
В REST API запросах используются различные типы параметров для передачи данных и управления поведением запросов. Вот основные виды параметров, которые можно встретить в REST запросах:
Path параметры
Определение:
Используются для определения ресурса в URL.
Пример:
В URL https://api.example.com/users/123
параметр 123
— это path параметр, который указывает на конкретного пользователя с ID 123.
Query параметры
Определение:
Используются для передачи дополнительных данных к запросу. Они идут после знака ?
в URL и могут использоваться для фильтрации, сортировки и пагинации.
Пример: В URL https://api.example.com/products?category=electronics&sort=asc
category=electronics
и sort=asc
— это query параметры.
Header параметры
Определение:
Используются для передачи метаданных о запросе. Заголовки могут содержать информацию о типе содержимого, авторизации и других настройках.
Пример:
В заголовках может быть Authorization: Bearer token_value
, который используется для аутентификации.
Body параметры
Определение:
Используются для передачи данных в теле запроса, особенно при POST, PUT и PATCH запросах.
Пример:
При создании нового пользователя с помощью POST запроса тело может содержать данные в формате JSON:
{
"name": "John Doe",
"email": "john@example.com"
}
Cookie параметры
Определение:
Используются для передачи данных, хранящихся в cookies на стороне клиента.
Пример:
Запрос может включать заголовок Cookie: session_id=abc123
, который содержит идентификатор сессии пользователя.
Matrix параметры
Определение:
Используются в URL для передачи информации, часто в виде пар “ключ-значение”. Они могут находиться между сегментами пути.
Пример:
В URL https://api.example.com/products;sort=asc;page=2
параметры sort
и page
являются matrix параметрами.
Сравнение параметров:
Тип параметра | Где используется | Пример |
---|---|---|
Path | В URL для определения ресурса | /users/123 |
Query | В URL для передачи дополнительных данных | ?category=electronics&sort=asc |
Header | В заголовках HTTP запроса | Authorization: Bearer token_value |
Body | В теле запроса (обычно POST, PUT) | {"name": "John Doe"} |
Cookie | В HTTP cookies | Cookie: session_id=abc123 |
Matrix | В URL между сегментами пути | /products;sort=asc;page=2 |
Каждый из этих типов параметров имеет свое предназначение и используется в зависимости от требований API и особенностей взаимодействия с клиентом.