Зарегистрируйтесь, чтобы продолжить обучение

Отправка запросов Тестирование API c Postman

В этом уроке мы научимся отправлять запросы в Postman и настраивать их основные компоненты: URL, метод, заголовки и тело запроса. Мы рассмотрим, как отправлять различные виды запросов, добавлять параметры запроса и заголовки, а также работать с различными форматами данных, такими как JSON, XML и данные форм. Мы также затронем механизм куки и как с ними работать в Postman. В итоге вы сможете уверенно работать с Postman и отправлять запросы различных типов к API.

Теперь, когда мы освоили отправку базовых запросов, давайте рассмотрим, как можно настраивать свои запросы.

Отправка параметров запроса

Для начала научимся добавлять параметры к нашим запросам

Параметры запроса (Query params) позволяют более точно настраивать запросы, передавая дополнительные данные, такие как фильтры, сортировка или ограничения выборки. Например, когда вы ищете книгу на сайте магазина, параметры запроса могут включать название книги, автора и категорию, чтобы уточнить поиск.

Параметры запроса добавляются в конец URL-адреса запроса после ? и перечисляются в виде пар ключ-значение, разделенных &

Для настройки параметров запроса в Postman есть вкладка Params

Давайте начнем с одного параметра. Получим список пользователей в нашем приложении, ограничив выборку двумя первыми пользователями. Скопируйте URL http://http.hexlet.app/postman/users?limit=2 и вставьте его в Postman. Postman автоматически распарсит параметр запроса и вы увидите его на вкладке Params.

Теперь давайте добавим второй параметр запроса. Уточним нашу выборку и получим двух пользователей, пропустив первых трех. Для этого в приложении предусмотрен параметр skip. Перейдите на вкладку Params и введите имя параметра skip и значение 3. Вы увидите, как URL запроса автоматически меняется на http://http.hexlet.app/postman/users?skip=3&limit=2

Параметры запроса

Вы также можете менять значения параметров запроса прямо на вкладке Params. Когда вы вводите параметры запроса или меняете их значение, оно автоматически обновляется везде, где используется в Postman. Например, если вы измените значение параметра limit на 5, URL запроса изменится на http://http.hexlet.app/postman/users?skip=3&limit=5.

Параметры пути

В нашем приложении у каждого пользователя есть своя страница. Нам нужно, чтобы другие пользователи или программы могли получить информацию о конкретном пользователе, подставив его id в адрес. Например, адрес для получения информации о пользователе с id 3 выглядит так: http://http.hexlet.app/postman/users/3.

В этом URL-адресе часть /3 меняется и зависит от пользователя, которого мы хотим получить. Она указывает, какой именно пользователь нам нужен.

Теперь представим, что мы хотим запрашивать информацию о разных пользователях. Мы можем вручную менять id в адресе запроса. Но есть и другой путь. Вместо конкретного значения мы можем указать в адресе параметр пути — часть URL, которая используется для передачи динамических данных в запросах. Он обозначается двоеточием перед именем параметра:

http://http.hexlet.app/postman/users/**:id**

Когда вы вводите параметр пути, Postman видит это и на вкладке Params появляется поле Path Variables. Здесь вы можете задавать ему конкретное значение и при запросе оно будет подставлено в адрес на место параметра :id

Параметры пути

Заголовки

Мы можем передавать в запросе какую-то дополнительную информацию о самом запросе, которая поможет серверу правильно обработать его. Например, это может быть тип и размер содержимого. Такая информация передается в заголовках запроса

В Postman для работы с заголовками есть вкладка Headers. На этой вкладке вы можете добавить собственные заголовки или переопределить уже существующие. Задайте здесь любые пары ключ-значение, которые вам нужны, и Postman отправит их вместе с вашим запросом. Вы можете указывать как стандартные заголовки, так и кастомные. В этом поле работает автозаполнение. Когда вы начнете вводить текст, Postman подскажет стандартные заголовки и их возможные значения

Для примера добавим в запрос кастомный заголовок X-Custom-Header со значением value

Установка кастомного заголовка

Воспользуемся кнопкой Code, чтобы посмотреть, как выглядит HTTP запрос после установки заголовка:

GET /http-api/users HTTP/1.1
Host: http.hexlet.app
X-Custom-Header: value

Видим, что наш заголовок появился в запросе

Postman также автоматически добавит к вашим запросам определенные заголовки в зависимости от выбора и настроек вашего запроса. Выберите Hidden в верхней части вкладки Headers, чтобы посмотреть, какие заголовки Postman отправит вместе с запросом.

Предустановленные заголовки

Тело запроса

Допустим, мы хотим создать нового пользователя. Для этого мы отправляем POST-запрос на URL-адрес http://http.hexlet.app/postman/users. Но чтобы сервер понял, какую именно информацию мы хотим добавить в базу данных, нам нужно передать данные пользователя. Такие данные передаются в теле запроса

Вкладка Body позволяет указать данные, которые необходимо отправить вместе с запросом. Вы можете отправлять различные типы данных в теле в соответствии с вашим API. Выберете здесь тип данных, который нужен или оставьте None, если вам не нужно отправлять тело с вашим запросом.

Формат тела запроса

Дальше рассмотрим некоторые типы данных тела, которые используются чаще всего

Сырой (raw)

В этом формате данные передаются в исходном виде, без всякой обработки. Мы можем передавать данные в различных форматах, таких как JSON, XML, TEXT и т.д. Для этого нужно выбрать нужный формат в выпадающем списке. Postman включит подсветку синтаксиса и автоматически добавит соответствующие заголовки к вашему запросу

Наше приложение работает с данными в формате JSON, поэтому для создания пользователя выбираем формат JSON и вводим данные в поле Body в этом формате:

{
  "email": "john@mail.com",
  "firstName": "John",
  "lastName": "Doe",
  "password": "secret"
}

Тело запроса в формате JSON

Данные форм (form-data)

Формат form-data используется для передачи данных в формате ключ-значение, как в обычной веб-форме. Он очень удобен, когда нам нужно отправить не только текстовые данные, но и файлы, такие как изображения или документы.

Для отправки данных в формате form-data нужно переключиться на соответствующую вкладку в поле Body и добавить поля с данными в формате ключ-значение. Например, если мы хотим отправить данные о пользователе и загрузить его аватарку, мы можем добавить два поля: name и avatar

x-www-form-urlencoded

Формат x-www-form-urlencoded похож на form-data, но данные передаются в формате ключ-значение, где каждый параметр отделяется амперсандом & и значения кодируются в URL-формате. Этот формат используется, чтобы имитировать отправку данных из HTML форм.

Данные форм

binary

Формат binary используется для передачи бинарных данных, таких как изображения, документы или другие файлы. Для отправки данных в формате binary нужно переключиться на соответствующую вкладку в поле Body и выбрать файл с компьютера

Бинарные данные

Куки

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

В Postman вы можете управлять куками через вкладку Cookies. Вы можете добавлять, редактировать и удалять куки, а также просматривать их содержимое. Подробнее о куки поговорим дальше в отдельном уроке

Куки

Настройки запросов

Вы можете настроить различные параметры для запросов в Postman. Эти настройки позволяют вам настроить поведение Postman при отправке запроса. Например, вы можете включить проверку сертификата SSL или отключить кодирование URL-адреса для запроса.

Чтобы настроить пользовательские параметры, выберите вкладку Settings вашего запроса, затем выберите переключатель рядом с параметром, чтобы включить или выключить его. Каждая настройка содержит описание ее эффекта при отправке запроса

Настройки запроса

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


Самостоятельная работа

  1. Проделайте все шаги из урока у себя на компьютере
  2. Зарегистрируйте нового пользователя на нашем форуме. Отправьте POST запрос с нужным телом на адрес http.hexlet.app/postman/users/. Формат для тела запроса можно посмотреть в интерактивной документации в браузере по адресу https://http.hexlet.app/postman-openapi#/Users/UserService_create. Перед отправкой запроса изучите заголовки, которые Postman добавил автоматически, опираясь на тип тела запроса и его содержимое

Дополнительные материалы

  1. Отличие между form-data и x-www-form-urlencoded

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff