Первый запрос: GET и POST
↑ 1.5 Postman: от установки до коллекций · ← Предыдущая · → Следующая
Зачем это аналитику и 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 тела нет.
Ожидаемый результат: у обоих записан код. Имена запросов понятны без чата. В теле нет секрета.
Вопросы с ответами
Куда класть фильтр?
В Params, если это query. В адрес, если это часть пути. Клиент из Params сам соберёт строку запроса.
POST не приняли, хотя скобки на месте.
Проверьте режим тела и заголовок типа. JSON в режиме формы сервер не читает как объект.
Что приложить к багу?
Метод, адрес, код и короткое тело без секретов. Скрин без кода не воспроизводится.
Зачем сохранять, если есть история?
История остаётся у вас. Коллекция — именованный сценарий, который можно отдать.