понедельник, 15 октября 2018 г.

Как отправить REST-запрос в Postman

Если вы никогда раньше не слышали про REST-запросы, то вам сюда ツ

Давайте рассмотрим на примере, который вы можете прямо сейчас взять и повторить. Показывать я буду на системе Users, которая находится в открытом доступе. А запросы будем посылать через бесплатный инструмент Postman.


Отправить первый запроса с нуля


Отправлять мы будем запрос doRegister

REST отличается от SOAP-а тем, что тут необязательно должен быть контракт (WADL). И если его нет, то без документации вы запрос не отправите. Попробуем с документацией!

1. Запустить Postman — он сразу откроет окно ввода запроса. Слева отображается история выполненных ранее запросов. Исходно она пуста, но скоро заполнится =)




2. Тип метода — POST 

Это написано в документации в плашке. И вообще в Users все методы — POST.



3. URL метода — http://users.bugred.ru/tasks/rest/doregister

Он есть в документации. Но хотя в документации описаны не все методы, их список есть по ссылке http://users.bugred.ru/tasks/rest/list, оттуда и брали URL для ТЗ. Если у вас нет WADL, то просите хотя бы такую ссылку с названиями всех методов


4. Тело запроса: Body — form-data

Смотрим в ТЗ, какие поля надо заполнить, их и передаем.

  • Key — имя параметра
  • Value — значение.


Например:

  • email — test_blog@gmail.com
  • name — Блоггер
  • password — 1


5. Все, отправляем запрос — большая кнопка Send

Снизу видим ответ, ошибку или данные по созданному клиенту. В нашем случае все прошло хорошо!


Профит! Мы отправили первый запрос за пару минут. Postman и тот дольше скачивали! ツ

См также:
Освоение тестирования REST API — еще про рест
Как отправить SOAP-запрос в Soap Ui — аналогичная статья про SOAP-запросы


А от меня еще пара заметок по инструменту из серии HOWTO



Указать заголовки


Если нужно передать заголовки, перейдите на вкладку Headers рядом с Body.
В Users обязательных заголовков нет (в большинстве методов), поэтому мы этот шаг пропускали.


Если от пользователя не нужны заголовки — значит, система сама их назначает стандартными или теми, которые разработчик зашил в коде. А так то заголовки всегда есть, они как минимум говорят о том, что за метод мы вообще передаем.



Авторизоваться


Авторизация передается или в заголовке в виде токена, или на отдельной вкладке



Сохранить запрос


Любой запрос можно сохранить, для этого тыкните на кнопку Save:




Система предложит выбрать коллекцию для сохранения или создать новую. Потом все сохраненные запросы будут доступны на вкладке Collections


Очень удобно, чтобы не писать запрос с нуля каждый раз или не бегать искать его по History


Клонировать запрос


Тыкнуть на запрос — Ctrl + D.
Или нажать на многоточие справа от названия — Duplicate.

Создать новый запрос


Просто нажать на плюсик около вашей вкладки



Домашнее задание


Попробуйте создать пользователя в Users через REST! Или поисследуйте другие REST-методы приложения, это придаст уверенности в своих знаниях =) 

PS — статья написана в помощь студентам моего курса «Тестирование REST API»

Добавлена на Testbase в навык использования инструментов. Теперь не потеряется!

12 комментариев:

  1. Ольга, подскажите, пожалуйста, можно ли увидеть как вызываются методы в сети разработчика?

    ОтветитьУдалить
    Ответы
    1. Не поняла вопрос, что за "сеть разработчика"?

      Удалить
    2. По F12 которая вызывается

      Удалить
    3. Вы можете выполнять действия в Users и смотреть на то, что уходит по сети, но там могут быть совершенно другие методы, потому что SOAP и REST добавлялся в готовую систему позднее

      Удалить
  2. Столкнулась с проблемой, что нужно в url запроса ввести параметр-наименование, а он содержит слэш (вида NA/ME). Можно как-то его ввести, чтобы этот слэш воспринимался именно как часть навания, а не часть пути?

    ОтветитьУдалить
    Ответы
    1. Спасибо, что откликнулись!
      Пробовала заменить слэш на %2F. К сожалению, не помогло - 400 Bad Request. Пробовала заменить эту часть ссылки на переменную в двойных фигурных скобках - то же самое.
      Что посоветуете еще попробовать?

      Удалить
  3. Ольга, здравствуйте. Подскажите пожалуйста: пропало удобное форматирование Respons-а, теперь весь ответ идет последовательно, а ранее каждый блок был с новой строки, что было очень удобно. Возможно изменение произошло после того, как копался в настройках, но это не точно. Не подскажете как вернуть форматирование?

    ОтветитьУдалить
    Ответы
    1. Изменить форматировароние ответа на json или какой у вас формат возвращается) Прям над ответом кнопку Pretty, если тыкали рядом стоящие, то могло измениться. Ну и справа от нее выпадайка

      Удалить
    2. Формат выбран JSON, и Pretty активна при выполнении запроса, также на нее нажимал принудительно. Ответ на запрос приходит, но нет удобного форматирования: не в таком виде, как у Вас на слайде в пункте 5, а в виде, когда все располагается друг за другом и переход на новую строку осуществляется при окончании места на текущей строке. Я не пойму как переключить, чтобы ответ отображался с форматированием, как у Вас на слайде пункта 5: где каждый параметр расположен с новой строки (хотя ранее именно так ответ и был отформатирован).

      Удалить