Что такое REST API

Что такое REST API

Введение

Скорее всего, ты уже слышал слово «REST API». Это самый распространённый способ организации веб-API сегодня. Но REST — это не протокол и не технология, а архитектурный стиль — набор принципов, которым должен следовать API, чтобы называться RESTful.


REST: расшифровка и суть

REST = Representational State Transfer (передача представления состояния).

Термин придумал Roy Fielding в 2000 году в своей диссертации. Идея простая: клиент и сервер обмениваются представлениями ресурсов (например, JSON-объектами) через стандартный протокол HTTP.


6 ограничений REST

Fielding описал 6 принципов (constraints), которым должна следовать RESTful архитектура:

ПринципСуть
Client-ServerКлиент и сервер разделены и независимы
StatelessКаждый запрос содержит всю нужную информацию; сервер не хранит состояние клиента
CacheableОтветы должны указывать, можно ли их кешировать
Uniform InterfaceЕдиный интерфейс взаимодействия (HTTP-методы, URL-ресурсы)
Layered SystemКлиент не знает, говорит ли он с конечным сервером или прокси
Code on DemandСервер может отправлять исполняемый код (опционально, редко используется)

Для тестировщика самые важные: Stateless и Uniform Interface.


Именование ресурсов в REST

RESTful API строится вокруг ресурсов (существительных), а не действий (глаголов).

Правильно:

GET    /users          — список пользователей
GET    /users/42       — пользователь с id=42
POST   /users          — создать пользователя
PUT    /users/42       — обновить пользователя
DELETE /users/42       — удалить пользователя
GET    /users/42/orders — заказы пользователя

Неправильно (не REST):

GET /getUsers
POST /createUser
GET /deleteUser?id=42
POST /getUserOrders

Правила именования:

  • Существительные, не глаголы: /users не /getUsers.
  • Множественное число: /users, /orders, /products.
  • Иерархия через слэш: /users/42/orders/15.
  • Строчные буквы, дефисы (не underscore): /user-profiles не /user_profiles.

REST vs другие API-стили

СтильСутьКогда встречается
RESTРесурсы + HTTP-методыБольшинство современных API
SOAPXML-сообщения, строгий контракт (WSDL)Банки, устаревшие enterprise-системы
GraphQLКлиент сам определяет структуру запросаFacebook, GitHub API v4
gRPCБинарный протокол, высокая скоростьМикросервисы, внутренние системы

Как понять, что API RESTful?

Чек-лист тестировщика:

  • URL содержит существительные, не глаголы.
  • Используются правильные HTTP-методы (GET для чтения, POST для создания и т. д.).
  • Каждый запрос самодостаточен (не зависит от предыдущих запросов).
  • Коды ответов соответствуют ситуации (201 при создании, 404 при отсутствии).
  • Ответ в JSON (или другом стандартном формате).

Частые ошибки тестировщиков

  • Считать REST протоколом. REST — архитектурный стиль, HTTP — протокол.
  • Игнорировать именование URL. Неправильные URL — это нарушение контракта API.
  • Путать REST и HTTP. REST API почти всегда использует HTTP, но HTTP можно использовать и без REST.

Что мы запомним

  • REST — архитектурный стиль, не протокол и не технология.
  • Ключевые принципы: Stateless (без состояния) и Uniform Interface (единый интерфейс).
  • URL в REST — это ресурсы (существительные): /users, /orders/42.
  • HTTP-методы определяют действие: GET = читать, POST = создать, PUT/PATCH = обновить, DELETE = удалить.
  • REST — самый популярный стиль API, но есть и альтернативы: SOAP, GraphQL, gRPC.

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике