Что такое REST API, SOAP? В чем разница?
REST API
Архитектурный стиль для построения веб-сервисов.
Использует HTTP(S) как транспорт.
Операции над ресурсами выполняются через стандартные методы:
GET
— получение данныхPOST
— созданиеPUT/PATCH
— обновлениеDELETE
— удаление
Данные обычно передаются в формате JSON (иногда XML, YAML).
Легкий, быстрый, кэшируемый, легко тестируется.
SOAP (Simple Object Access Protocol)
Протокол обмена структурированными сообщениями.
Основан на XML.
Работает поверх разных транспортов (HTTP, SMTP, TCP и др.).
Сообщение имеет жестко заданную структуру (envelope, header, body).
Поддерживает встроенные механизмы безопасности (WS-Security), транзакции.
Более тяжелый по сравнению с REST, требует строгих схем (WSDL).
Для QA важно
Проверять структуру SOAP-сообщений (валидный XML).
Тестировать работу WSDL (описание API).
Проверять корректность обработки ошибок (Fault).
Сравнивать производительность с REST.
Основные различия
Тип
Архитектурный стиль
Протокол
Формат данных
JSON (чаще всего), XML
XML
Транспорт
HTTP/HTTPS
HTTP, SMTP, TCP и др.
Простота
Легкий и гибкий
Тяжеловесный, строгий
Стандартизация
Нет жесткой спецификации
Строгий стандарт (WSDL)
Безопасность
Использует TLS, OAuth, JWT
WS-Security встроен
Где применяется
Веб-сервисы, мобильные приложения
Банки, финсектор, legacy-системы
Last updated
Was this helpful?