Что такое REST
Вопрос
Что такое REST API? Объясни так, как объяснил бы на собеседовании на тестировщика.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Архитектурный стиль поверх 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 ошибок.