Импорт и экспорт: cURL, OpenAPI, Swagger

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

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

Зачем это аналитику и 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.

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

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

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