Первый запрос: GET и POST

↑ 1.5 Postman: от установки до коллекций · ← Предыдущая · → Следующая

Обязательно~3 мин чтенияУровень: junior

Зачем это аналитику и PM

Пока метод, query и тело не разложены по полям клиента, баг «не сохранилось» не к чему приложить. Первый GET и первый POST как раз показывают эти три места и код ответа.

План темы

  • адрес и метод
  • параметры
  • тело
  • чтение ответа, статуса и времени
  • сохранение запроса

Объяснение

Запрос в клиенте — метод, адрес и необязательное тело. Программа не придумывает протокол, она раскладывает его по полям.

Как окно приёма. Метод говорит, показать карточку или принять новую. Адрес выбирает окно. Params дописывает уточнения в query, чтобы не склеивать адрес руками. Body несёт бланк, когда вы что-то создаёте.

Чтение и создание

Для чтения выберите GET и вставьте адрес со схемой https. Идентификатор в пути оставляйте в адресе. Фильтр в query набирайте в Params: клиент закодирует пробел и амперсанд. Тело у GET не заполняйте.

Для создания выберите POST и зону Body. Режим сырого текста и тип JSON. Подпись режима сверьте: слова raw и JSON привычные, кнопку могли сдвинуть. Если сервер не разобрал тело, чаще не совпали тип и содержимое.

Ответ читают по коду, телу и времени. Долгий успешный ответ — вопрос про ожидание, не про запятую в JSON. Код успеха берите из контракта: и 200, и 201 бывают нормальными.

Несохранённая вкладка — черновик. Сохранение кладёт запрос в коллекцию под именем сценария.

Примеры

curl -sS "https://jsonplaceholder.typicode.com/todos/1"
curl -sS -X POST "https://jsonplaceholder.typicode.com/posts" \
  -H "Content-Type: application/json" \
  -d '{"title":"example","body":"text","userId":1}'

Тело POST. Учебный сервис не ваш контракт: фактический ответ посмотрите у него, в требования его не копируют.

{"title": "example", "body": "text", "userId": 1}

Нюансы и подводные камни

  • Params не подставляет кусок пути. Только query.
  • Учебный код 201 или 200 не проверяет ваши правила склада.
  • Адрес, вписанный целиком, привязан к одному хосту. Стенд вынесите в переменную.
  • Отправка бьёт в адрес на экране сейчас, а не в тот, что обсуждали утром.

Практика

Сохраните учебный GET и POST в одну папку. У POST тело — объект JSON, у GET тела нет.

Ожидаемый результат: у обоих записан код. Имена запросов понятны без чата. В теле нет секрета.

Вопросы с ответами

Связано с блоком Developer

Связанные темы