О чем стоит помнить при проектировании REST API

Основы REST API

Всем привет! Давайте вспомним, что такое REST API и с чем его едят

API помогает одному компоненту или приложению общаться с другими посредством различных правил. Качественное API оставляет хорошее впечатление о вашем продукте в целом, так как это первое, с чем встречаются разработчики, когда начинают работать с вашим продуктом.

Принципы REST:
  • единый интерфейс;
  • разграничение клиента и сервера;
  • нет сохранения состояния;
  • кэширование всегда разрешено;
  • многоуровневая система;
  • код предоставляется по запросу.

Применение:

  • При ограниченной пропускной способности соединения с сервером
  • Нужно кэшировать запросы
  • При масштабировании сайта/приложения
  • Если сайт/приложение используют AJAX

Виды API:

Виды API

АРХИТЕКТУРА REST API

Архитектура REST API состоит из следующих компонентов:
1) URL-адрес конечной точки
Приложение с REST API определяет один или несколько URL-адресов конечных точек с доменом, порт, путь, строки запроса.

2) метод HTTP, который состоит из следующих запросов: GET,POST,PUT,DELETE

3) заголовки HTTP, которые содержат токены аутентификации или файлы cookie

4) body. Данные передаются в теле HTTP идентично HTML-представлению

На данном примере вы можете увидеть, как загрузить прикрепленный файл с определенной страницы (где 1998856 ID контента).
Добавление коммента на страницу
Ссылка на загрузку внутри аутпута

При проектировании API стоит помнить о:

  1. API должен быть предсказуемым
  2. Унифицированные методы авторизации и аутентификации для всех конечных точек.
  3. Одинаковые методы HTTP для одних и тех же действий
  4. Единый регистр для полей, ресурсов и параметров
  5. Имена ресурсов должны быть в множественном или единственном числе /orders/{id} или /order/{id}
  6. коды состояний HTTP должны быть одинаковы в зависимости от типа ответа. (Если страница не найдена, всегда 404)
  7. Одинаковые методы HTTP для одних и тех же действий
  8. Проверяйте работоспособность конечной точки
  9. При каждом запросе передавайте версию API
  10. Аутентификация принимается по ключу API
  11. Проверяйте коды состояния HTTP на соответствие при использовании
  12. Используйте простые имена, которые легко понять
  13. При возврате ошибки пользуйтесь стандартным ответом об ошибке
  14. Максимальная конкретика во всем (разработка конечных точек, имя и описание полей и тп)
Практический опыт по API
Вы можете получить на нашем курсе