пятница, 21 декабря 2018 г.

Swagger Petstore — сайт для практики REST-запросов

Разработчики Swagger создали образец приложения, которое можно использовать для практики REST-запросов: http://petstore.swagger.io. Этот сайт имитирует онлайн-зоомагазин, и пользователи могут добавлять и получать информацию о своих питомцах.

Давайте попробуем подергать запросы!

Любой запрос можно дернуть прямо с сайта, достаточно нажать на кнопку «Try it out»



Запрос становится доступен для редактирования. Меняем значения на те, что нам нравятся и отправляем запрос. Чтобы проверить, что мои данные реально сохраняются, мне достаточно изменить имя (name), ну и указать идентификатор (id). Устанавливаем их:

  • id = 25
  • name = test
Остальное не трогаем. Нажимаем «Execute»


И ниже видим:
  1. Наш запрос в curl-виде
  2. Ответ сервера

Но тыкать через сайт — не наш метод! Пойдем лучше в Postman.

Как вызвать тот же самый запрос? Приглядимся к документации повнимательнее:
  • Тип запроса — POST
  • URL — /pet
  • Body — есть пример для json и xml вариантов

Конечно, это явно неполный URL. Это та часть, которая добавляется в base url, постоянной части, одинаковой для всех запросов. Поднимаемся в документации выше и находим этот URL:


Итого получаем:

petstore.swagger.io/v2 + /pet = petstore.swagger.io/v2/pet

На худой конец остается вариант нажать на сайте «Try it out» и подсмотреть полный URL там...

Отправим запрос через постман!
  • id = 11
  • name = monkey

Вроде как успешно. Теперь давайте проверим, благо есть метод GET — Find pet by ID. Его и используем.

Судя по документации, у нас есть только один параметр (id), который передается через URL


Пробуем найти нашу обезьянку с id = 11. 
  • Метод — GET
  • URL — petstore.swagger.io/v2/pet/11

Работает!

Проверим id = 25, которого мы создавали через веб-интерфейс.


Тоже работает! Ну, прекрасно. Значит, можно тыкать и через веб, и через постман, ну и, конечно, можно напрямую curl слать... 

А дальше уже ради практики читаем описания методов и тестируем их. Но это уже сами, сами Wink ;)

См также:

А если хотите больше практики в тестировании REST-запросов под присмотром тренера, заходите на курс «Тестирование REST API» Smile :)

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

  1. Круто! Ольга, спасибо за эту статью!

    ОтветитьУдалить
  2. Спасибо, Ольга за статью. То, что я искала)

    ОтветитьУдалить
  3. Добрый день.
    Пропали изображения.

    ОтветитьУдалить
  4. Здравствуйте! Большое спасибо за объяснение! Только у вас ничего не понятно((( вы как будто постоянно через несколько шагов перепрыгиваете. Буду благодарен, если помоете разобраться.

    После того, как вы сделали это "petstore.swagger.io/v2 + /pet = petstore.swagger.io/v2/pet", вы пишете: "На худой конец остается вариант нажать на сайте «Try it out» и подсмотреть полный URL там..." - что это значит? Где нажать Try it out? После того как первый раз нажал, непонятно где нажимать опять. Где посмотреть полный URL?

    После этого вы пишете "Отправим запрос через постман". Как вы его отправляете? Я попробовал вставить ссылку petstore.swagger.io/v2/pet и нажать send - в нижнем поле отразилось совсем не то что у вас.(((( могли бы показать пропущенные шаги, как у вас появилось то что на картинке?

    ОтветитьУдалить
    Ответы
    1. Кнопку «Try it out» можно найти на сайте через ctrl+f, посмотрите как сайты со сваггером работают, потыкайте в разные запросы)

      Под словами «Отправим запрос через постман!» есть 2 параметра, которые надо передать, их и передаем, я же не знаю как именно вы отправили

      Удалить