дубликат сбора почтальона / экспорт + реимпорт - PullRequest
0 голосов
/ 24 июня 2019

относительно новичок в Postman, возникла проблема со следующим простым сценарием - у меня есть набор запросов Postman, которые все указывают на локальный IP, где я разрабатываю свое приложение.Предположим, я закончил свою локальную разработку, развернул приложение на каком-то другом сервере и хочу повторить запросы, которые я ранее создал на этом сервере.Я знаю, что, вероятно, один из способов сделать это - использовать переменные.

Вместо этого я выполнил экспорт коллекции и вручную отредактировал экспортированный файл JSON, заменив все старыелокальные IP с новым IP-адресом сервера.Также изменил название коллекции и ID на что-то произвольное.Хотя импорт обратно в Postman работает, и я вижу запросы, у них у всех старый IP-адрес все еще висит, как будто моя замена не работает, или как будто Postman каким-то образом кэширует запросы и думает, что эта новая коллекция такая жекак старый.Я также попытался «Дублировать» коллекцию и экспортировать дублированную / заменить / импортировать снова - но поведение, кажется, то же самое.

Я что-то пропустил, или я должен подходить к тому, что я хочу сделать по-другому?Спасибо.

1 Ответ

0 голосов
/ 24 июня 2019

Дух, я достаточно глуп, чтобы заменить «сырой» URL, в то время как чуть ниже были старые значения «host» и «port», из которых Postman создает URL:

 {
    "info": {
        "_postman_id": "1499274a-07bc-4ed2-87d4-b10d0cef8f8f",
        "name": "some-collection-DEVSERVER",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "item": [
        {
            "name": "login (success - bad locale)",
            "request": {
                "method": "POST",
                "header": [
                    {
                        "key": "Content-Type",
                        "name": "Content-Type",
                        "value": "application/json",
                        "type": "text"
                    }
                ],
                "body": {
                    "mode": "raw",
                    "raw": "{\n\t\"username\" : \"TEST\",\n\t\"password\" : \"123456\",\n\t\"locale\" : \"asd\"\n}"
                },
                "url": {
                    "raw": "http://SERVER-IP:SERVER-PORT/new-path/login",
                    "protocol": "http",
                    "host": [
                        "127",
                        "0",
                        "0",
                        "1"
                    ],
                    "port": "8081",
                    "path": [
                        "old-path",
                        "login"
                    ]
                }
            },
            "response": []
        },
      ...
   ]
}

Итак, после предложения использовать переменные я в итоге создал две переменные Collection «base-URL-LOCAL» и «base-URL-SERVER», которые играют роль констант, и третью переменную «base-url», котораяНапример, может иметь значение {{base-URL-LOCAL}} (как начальные, так и текущие значения должны быть обновлены).В моей экспортированной коллекции JSON я заменил все элементы "url" на что-то вроде следующего:

"url": {
    "raw": "{{base-url}}/login",
    "host": [
        "{{base-url}}"
    ],
    "path": [
        "login"
    ]
}

Таким образом, кому-то, кто получит мою коллекцию, не нужно будет устанавливать предопределенные среды, и он будетнеобходимо изменить переменные коллекции, задав, например, base-url {{base-URL-SERVER}}

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