Виды параметров в 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 cookiesCookie: session_id=abc123
MatrixВ URL между сегментами пути/products;sort=asc;page=2

Каждый из этих типов параметров имеет свое предназначение и используется в зависимости от требований API и особенностей взаимодействия с клиентом.