Импорт и экспорт: cURL, OpenAPI, Swagger
↑ 1.5 Postman: от установки до коллекций · ← Предыдущая · → Следующая
Зачем это аналитику и PM
Запрос, который уже есть в браузере или в спецификации, не набирают по памяти. Импорт забирает cURL или OpenAPI, а экспорт отдаёт коллекцию тем, у кого другой инструмент или репозиторий.
План темы
- как превратить cURL из DevTools в запрос
- импорт спецификации
- экспорт и совместная работа
Объяснение
Импорт читает чужую запись запроса и раскладывает её по полям клиента: метод, адрес, заголовки, тело. Экспорт пишет коллекцию в файл, который можно приложить к задаче или положить рядом со спецификацией.
Как перевод бланка. Браузер уже показал, что ушло по сети. Спецификация показывает, что сервис обещает. Клиент в обоих случаях получает заготовку, а не смысл полей.
Из браузера
В инструментах разработчика у вызова есть действие «копировать как cURL». Подпись пункта сверьте: браузеры называют его по-разному. Строку вставляют в импорт Postman. Слово Import привычное, место команды на экране могло сдвинуться.
Строка часто содержит cookie и заголовок допуска. Перед сохранением выкиньте их и подставьте учебный стенд. Иначе коллекция тащит чужую сессию.
Проверьте, что импорт не склеил query с путём и не положил тело GET туда, где его не было.
Из спецификации
OpenAPI — файл, который описывает методы, пути и тела. Swagger — прежнее имя линейки и имя интерфейса, где этот файл листают. Импорт файла собирает коллекцию операций. Это черновик вызовов, не доказательство, что стенд жив. Версию файла берут у команды. Не обещайте, что любая старая редакция откроется без ручной правки: расхождения смотрят по факту импорта.
Экспорт коллекции нужен, когда пространство Postman недоступно коллеге. Файл перед отправкой открывают и ищут токены. Общая работа через пространство удобнее, если доступ есть. Что главнее, файл в git или копия в пространстве, пишут в начале коллекции.
Примеры
Учебная строка, которую можно вставить в импорт. Секрета в ней нет.
curl -sS "https://jsonplaceholder.typicode.com/todos/1" \
-H "Accept: application/json"Крошечная спецификация, чтобы увидеть, что импорт создаёт операцию из paths, а не из вашего рассказа.
openapi: 3.0.3
info:
title: Example
version: "1"
paths:
/todos:
get:
summary: list
responses:
"200":
description: okНюансы и подводные камни
- cURL из браузера — снимок одной сессии. Завтра cookie протухнет, коллекция останется.
- Импорт спецификации не подставляет ваш стенд. Адрес после импорта выносят в переменную.
- Экспорт может унести текущие секреты. Смотрите файл до того, как кинуть его в чат.
- Две правки, в файле и в пространстве, расходятся. Нужна одна главная копия.
Практика
Скопируйте учебный cURL выше в импорт и сохраните запрос. Рядом импортируйте короткий YAML, если клиент принимает файл с диска.
Ожидаемый результат: у запроса метод GET и адрес JSONPlaceholder, без заголовка допуска. Из спецификации появилась операция GET /todos. В сохранённом тексте нет cookie.
Вопросы с ответами
Зачем cURL, если можно набрать адрес?
Строка из браузера уже содержит метод, путь и query, которые реально ушли. Ручной набор легко теряет заголовок или кодировку.
OpenAPI и Swagger — одно и то же?
OpenAPI — имя формата файла. Swagger — прежнее имя и интерфейс просмотра. Для импорта важен сам файл и его версия, не слово на обложке.
Что проверить сразу после импорта?
Метод, путь, query, тело и отсутствие живого допуска. Потом замените хост на переменную стенда.
Куда класть экспорт?
В задачу или в репозиторий, если так договорилась команда, и только без секретов. Если все уже в одном пространстве, файл не обязателен.