Поделиться через


Создание HTTP-файла

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

Чтобы создать HTTP-файл с помощью прокси-сервера разработки:

  1. В файле конфигурации включите следующую функцию HttpFileGeneratorPlugin:

    {
      "plugins": [
        {
          "name": "HttpFileGeneratorPlugin",
          "enabled": true,
          "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
          "configSection": "httpFileGeneratorPlugin"
        }
      ]
      // [...] shortened for brevity
    }
    
  2. При необходимости настройте плагин:

    {
      "httpFileGeneratorPlugin": {
        "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/httpfilegeneratorplugin.schema.json",
        "includeOptionsRequests": false
      }
      // [...] shortened for brevity
    }
    
    • includeOptionsRequests: определяет, следует ли включать OPTIONS запросы в созданный HTTP-файл. По умолчанию — false.
  3. В файле конфигурации в список URL-адресов для наблюдения добавьте URL-адрес API, для которого нужно создать HTTP-файл.

    {
      "urlsToWatch": [
        "https://api.example.com/*"
      ]
      // [...] shortened for brevity
    }
    
  4. Запуск прокси-сервера разработки:

    devproxy
    
  5. Запустите запросы записи, нажав клавишу r.

  6. Выполните запросы API, которые необходимо включить в HTTP-файл.

  7. Остановите запись, нажав клавишу s.

  8. Прокси-сервер разработки создает HTTP-файл и сохраняет его в текущем каталоге. Файл содержит все захваченные запросы и ответы с конфиденциальными данными, такими как маркеры носителя и ключи API, замененные переменными. Рассмотрим пример.

    @jsonplaceholder_typicode_com_api_key = api-key
    ###
    # @name getPosts
    GET https://jsonplaceholder.typicode.com/posts?api-key={{jsonplaceholder_typicode_com_api_key}}
    Host: jsonplaceholder.typicode.com
    User-Agent: curl/8.6.0
    Accept: */*
    Via: 1.1 dev-proxy/0.29.0
    

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

Снимок экрана: две окна командной строки. В одной из них показаны запросы API записи прокси-сервера разработки. В другом показан созданный HTTP-файл.

Дальнейшие шаги

Дополнительные сведения о HttpFileGeneratorPlugin.