Про API для начинающих тестировщиков. Разница между REST и SOAP. 2022
Что такое API? Коротко расскажу основное для начинающих, что необходимо знать или хотя бы просто услышать разок, но без зубрежки.
—
Поставь лайк статье❣
—
Что вы узнаете:
- Что такое API?
- Где можно увидеть пример API?
- Как работает API?
- Какая разница между REST и SOAP?
API - это контракт, который предоставляет программа. То есть присутствует определенная функция/скрипт, где прописаны способы/условия взаимодействия между клиентом и сервером. Например, одна система дергает через API какой-то метод другой системы. Она может получить данные из другой системы или наоборот, отправить данные в эту систему. По сути всё, что мы делаем в UI(интерфейс пользователя), даже простое открытие сайта или выбор значений в полях, можно делать и через API, соответственно тестировать. Ниже прикрепил простой пример кода для работы с сервером.
API включает в себя:
- Операция
- Данные на входе
- Данные на выходе
Где можно увидеть пример API? Элементарно. Откройте консоль разработчика(F12) и найдите любой запрос в Network. А! Ну все! Вы видите ранее невидимый вам API. Далее зайдите в ответы и запросы. Тут вы увидите обычно формат json, а это уже тема способа работы API, например REST API и SOAP API.
Как работает API?
Вы кликаете на кнопку в одном приложении с точки зрения клиента, где далее идет запрос на сервер, откуда пойдёт вам ответ. Обычно так можно объяснить работу архитектуры API.
Существует несколько способов работы API, например:
- SOAP API
- REST API
- Websocket API
- RPC API
REST - это архитектурный стиль взаимодействия компонентов приложения в сети, также это особый тип Web API. Архитектурный стиль - это набор ограничений и принципов проектирования свойств системы, которые необходимы для лучшего масштабирования и интеграции с другими сервисами.
SOAP - это протокол, по которому взаимодействуют веб-сервисы между друг другом или с клиентом.
Websocket API - это одна из разработок web API, которая позволяет открыть постоянное двунаправленное сетевое соединение между клиентом и сервером. Использует JSON для передачи данных.
Пример типов сообщений:
- Subscribe (подписка на топик)
- Unsubscribe (отписка на топик)
- Message (получение сообщений)
- Oauth.logheartbit (контроль статуса соединения)
В тестировании удобная штука, которая дает понимание общения между GUI и сервером. Если нет Websocket, то возможно есть проблемы, которые нужно сообщить бэкенд разработчику.
RPC API - система удаленного вызова процедур. Клиент совершает функцию на сервере, и сервер отправляет обратно результат.
Какая разница между SOAP и REST?
В SOAP и REST передача данных идет также, то есть по HTTP протоколу. Но все же SOAP это просто протокол. То картинка будет иной.
Клиент и сервер общаются через протокол HTTP, но по нему отправляется не стандартное сообщение, а именно написаное по правилам протокола SOAP.
Основное отличие, наверное, это то, что REST в основном общается(response/request в запросах) или обменивается сообщениями через JSON, XML или другой формат(нету фиксированного формата обмена сообщений), а SOAP через XML(это фиксированный формат).
REST сейчас топ по-популярности, чем SOAP. Также он более дешёвый, простой в использовании и поддержке.
Резюме.
В этой статье мы рассмотрели API и поняли ее аспекты, также узнали про некоторую разницу между REST и SOAP.
Также рекомендую изучить для полной картины данную статью:
Подписывайся на телеграмм канал для будущих тестировщиков: