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

Каким должно быть API, чтобы оно считалось RESTful?

1.8 Middle🔥 241 комментариев
#REST API и HTTP#Архитектура и паттерны

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Характеристики RESTful API

RESTful API базируется на архитектурных принципах REST (Representational State Transfer), сформулированных Роем Филдингом в его диссертации в 2000 году. Это не просто HTTP API с JSON — это набор строгих требований.

Шесть основных ограничений REST

1. Клиент-сервер архитектура

Разделение ответственности между клиентом и сервером.

2. Statelessness (без состояния)

Каждый запрос содержит всю необходимую информацию. Сервер не хранит сессию между запросами.

3. Uniform Interface (единообразный интерфейс)

Включает: идентификация ресурсов в URI, манипуляция через представления, самоописывающиеся сообщения, HATEOAS.

4. Cacheability (кэшируемость)

Ответы должны явно указывать, кэшируемы они или нет через заголовки Cache-Control и ETag.

5. Layered System (многоуровневая система)

Клиент не должен знать о внутренней структуре системы.

HTTP методы по назначению

  • GET: получить ресурс
  • POST: создать новый ресурс
  • PUT: заменить ресурс полностью
  • PATCH: частичное обновление
  • DELETE: удалить ресурс

Ключевые принципы

  • Resource-oriented: операции на ресурсах
  • Stateless: каждый запрос независим
  • Cacheable: явная политика кэширования
  • Uniform interface: предсказуемо
  • Self-descriptive: клиент понимает ответ