Ответ вслух Junior REST и документация API спрашивают часто обновлено

Что такое REST

Вопрос

Что такое REST API? Объясни так, как объяснил бы на собеседовании на тестировщика.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

REST это архитектурный стиль для веб-API. Всё, с чем работает система, представлено ресурсами с адресами: /users, /users/15, /users/15/orders.

Что должно прозвучать в ответе

  • Архитектурный стиль поверх HTTP, где всё ресурс с адресом

  • Действие задаёт HTTP-метод: GET читает, POST создаёт, PUT/PATCH меняют, DELETE удаляет

  • Сервер не хранит состояние клиента между запросами

  • Результат передаётся кодом ответа и телом, обычно JSON

  • Договор описывают в OpenAPI, по нему и тестируют

Что могут спросить следом

  • Чем REST отличается от SOAP?
  • Что такое идемпотентность?
  • Как устроена пагинация в API, который ты тестировал?

Разбор

REST это архитектурный стиль для веб-API. Всё, с чем работает система, представлено ресурсами с адресами: /users, /users/15, /users/15/orders. Что с ресурсом сделать, говорит HTTP-метод: GET прочитать, POST создать, PUT заменить, PATCH частично изменить, DELETE удалить. Сервер не хранит состояние клиента между запросами, поэтому в каждом запросе есть всё нужное, например токен. Результат сообщают код ответа и тело, сейчас почти всегда в JSON. В отличие от SOAP, где всегда XML и строгий конверт, REST легче и гибче, но договор нужно описывать отдельно, обычно в OpenAPI. Для меня как тестировщика спецификация OpenAPI это требования: по ней я проверяю методы, коды, обязательные поля и типы.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме