Что такое API. REST и ресурсы. SOAP обзорно как легаси

Всё, что мы тестировали до сих пор в этой главе, — это интерфейс браузера: кнопки, формы, страницы. Но браузер — не единственный способ обратиться к серверу. Программы тоже обращаются друг к другу напрямую, без интерфейса пользователя. Этот способ называется API, и тестировщику важно уметь работать с ним напрямую — это часто быстрее и надёжнее, чем через интерфейс.

Чему научишься за этот урок:
— объяснять, что такое API простыми словами;
— понимать идею REST через ресурсы и HTTP-методы;
— различать REST и SOAP и называть, где на практике встретится каждый.

Что такое API

API (Application Programming Interface, интерфейс программирования приложений) — это способ, которым одна программа обращается к другой программе за данными или действием, БЕЗ интерфейса пользователя. Когда мобильное приложение показывает список курсов, оно не рисует эти данные само — оно посылает запрос на сервер через API, получает данные и уже потом отображает их на экране.

Вы уже фактически видели API в главе 3, когда открывали вкладку Network в DevTools: каждый запрос от браузера к серверу за данными («получить список курсов», «применить промокод») — это и есть обращение к API. Просто раньше мы смотрели на него ИЗНУТРИ браузера, а теперь научимся обращаться к нему НАПРЯМУЮ.

REST: ресурсы и HTTP-методы

REST (Representational State Transfer) — самый распространённый сегодня архитектурный стиль API. Его идея: всё, с чем работает API, представлено как ресурс — сущность, доступная по своему URL. Например, «курсы» — это ресурс /api/courses, а конкретный курс с номером 123 — ресурс /api/courses/123.

К ресурсу применяются уже знакомые вам из главы 3 HTTP-методы — только теперь не браузер решает, какой метод использовать, а тестировщик выбирает его сам, в зависимости от того, что нужно сделать:

GET    /api/courses      -> получить список всех курсов
GET    /api/courses/123  -> получить один конкретный курс
POST   /api/courses      -> создать новый курс
PUT    /api/courses/123  -> изменить курс целиком
DELETE /api/courses/123  -> удалить курс

Ответ REST API обычно приходит в формате JSON — том самом, который вы уже разбирали в уроке про HTML/CSS/JS/JSON главы 3.

SOAP: легаси-протокол

SOAP (Simple Object Access Protocol) — более старый протокол обмена данными между программами. В отличие от REST, SOAP использует формат XML (а не JSON) и более строгие, «тяжёлые» правила оформления запроса. Новые проекты сегодня почти всегда делают REST — SOAP встречается как легаси (унаследованный код): в банковских системах, старых корпоративных интеграциях, некоторых государственных системах, которые были построены много лет назад и до сих пор работают.

Не нужно учить SOAP «на всякий случай» так же глубоко, как REST — это надо просто узнавать в проекте и понимать, что перед вами именно он: другой формат (XML вместо JSON), другие правила запроса, но общая цель та же — обмен данными между программами.

Итог:
— API — способ, которым программы обращаются друг к другу за данными без интерфейса пользователя;
— REST — архитектурный стиль, где всё представлено как ресурс, доступный по URL, а к ресурсу применяются HTTP-методы (GET/POST/PUT/DELETE);
— ответ REST API обычно в формате JSON;
— SOAP — более старый протокол на XML, сегодня встречается как легаси в банках, госсистемах, старых корпоративных интеграциях; для новых проектов используют REST.

Контрольный вопрос. Что такое API?

АСпособ, которым одна программа обращается к другой программе за данными или действием, без интерфейса пользователя
БОтдельная кнопка в интерфейсе браузера
ВНазвание языка программирования

Подсказка: Расшифровка аббревиатуры прямо говорит про интерфейс — но не для человека, а для программ.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Что такое ресурс в REST?

АСущность, доступная по своему URL — например, курсы или конкретный курс
БНазвание HTTP-метода
ВФормат данных, в котором приходит ответ

Подсказка: В примере урока ресурсами были «курсы» и «конкретный курс» — подумай, что их объединяет.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. В каком формате обычно приходит ответ REST API?

АJSON
БXML
ВHTML

Подсказка: Это тот же формат, который вы уже разбирали в главе 3, в уроке про HTML/CSS/JS/JSON.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Где сегодня чаще всего встречается SOAP?

АКак легаси — в банковских системах, старых корпоративных и некоторых государственных интеграциях
БВо всех новых мобильных приложениях
ВSOAP уже нигде не используется

Подсказка: В уроке прямо названо, что SOAP — не выбор новых проектов, а то, что осталось от старых.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Какие из утверждений про REST и SOAP верны (выбери все подходящие)?

Выберите все верные варианты.

АREST использует HTTP-методы, применяемые к ресурсам
БSOAP использует формат XML, а не JSON
ВSOAP — более новый и распространённый стандарт, чем REST
ГОтвет REST API обычно приходит в формате JSON

Подсказка: Сверь каждое утверждение с итогом урока — одно из четырёх переворачивает реальное соотношение REST и SOAP по возрасту и распространённости.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Как называется архитектурный стиль API, где всё представлено как ресурс, доступный по URL? Ответь по-английски.

Подсказка: Это стиль, который сегодня выбирают почти все новые проекты — противоположность легаси-варианту урока.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Нужно получить список всех курсов через REST API. Какой HTTP-метод для этого используют? Ответь одним словом.

Подсказка: Это метод, который вы уже разбирали в главе 3 — он ничего не создаёт и не удаляет, только забирает данные.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Нужно удалить курс с номером 456 через REST API. Как будет выглядеть путь ресурса? Ответь в формате /api/courses/номер.

Подсказка: Посмотри на пример из ASCII-схемы урока с номером 123 и замени его на нужный номер.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Объясни в 2-3 предложениях: почему тестировщику полезно уметь обращаться к API напрямую, а не только через интерфейс браузера?

Критерий приёмки: объяснено, что обращение к API напрямую позволяет проверять сервер отдельно от интерфейса — быстрее, чем клики по интерфейсу, и точнее показывает, что реально происходит на сервере, без влияния возможных дефектов самого интерфейса (аналогия с уже пройденным приёмом из главы 7 — отправка запроса в обход формы через вкладку Network).

Подсказка: Вспомни урок про формы и валидацию из главы 7 — там уже был приём отправки запроса в обход интерфейса. Подумай, зачем он был нужен.

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

Онлайн-проверка ответа появится позже

Задание. Компания разрабатывает новый мобильный банк, но при этом интегрируется со старой системой центрального банка, которая работает уже 15 лет. Какой протокол — REST или SOAP — тестировщик, скорее всего, встретит при работе именно со старой интеграцией, а какой — в самом новом мобильном приложении? Обоснуй в 2-3 предложениях, опираясь на характеристики из урока, а не только на догадку.

Критерий приёмки: названо, что в новом мобильном приложении, скорее всего, будет REST (новые проекты выбирают REST), а в интеграции со старой 15-летней системой центрального банка — вероятно SOAP (легаси в банковских системах — характерный пример из урока). Обоснование опирается на возраст и тип каждой системы, а не только на утверждение без объяснения.

Подсказка: Сопоставь возраст каждой системы (совсем новая vs 15 лет) с тем, что урок говорит про типичное место REST и SOAP.

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

Онлайн-проверка ответа появится позже

Что дальше

Теперь, когда понятна идея API и REST, пора попробовать отправлять запросы напрямую — без браузера. В следующем уроке разберём Postman: инструмент, которым тестировщики отправляют запросы к API вручную, без единой строчки кода.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева