Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
На первый взгляд
Цель: Предоставление тестовых объектов через туннели для разработчиков
Время: 15 минут
Подключаемые модули:MockResponsePlugin
Необходимые условия:настройка прокси-сервера разработки, туннелей разработки
Использование прокси-сервера разработки — самый простой способ издеваться над API. Независимо от того, разрабатываете ли вы фронтенд, а API еще не готов, необходимо ли интегрировать вашу серверную часть с внешней службой или хотите протестировать приложение с использованием различных ответов, Dev Proxy может помочь имитировать ответы API. При интеграции API с облачными службами необходимо предоставить API через Интернет, чтобы облачная служба ей могли получить доступ. Для предоставления моделируемых ответов, смоделированных Dev Proxy через Интернет, используйте Dev Tunnels. В этой статье объясняется, как настроить макет ответов, которые будут предоставляться через Интернет с помощью Dev Tunnels.
Определение макетных ответов
Чтобы предоставить макетные ответы, имитированные прокси разработки через Интернет, начните с настройки макетов.
Это важно
На данный момент Dev Tunnels поддерживает только предоставление макетов HTTP-ответов по всему интернету.
Создание макетных ответов
Создайте файл с именем mocks.json , содержащий макет ответа для пользовательского API. Например, чтобы симулировать запрос GET к http://api.contoso.com/products, определите:
Файл: mocks.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.0.0/mockresponseplugin.mocksfile.schema.json",
"mocks": [
{
"request": {
"url": "http://api.contoso.com/products",
"method": "GET"
},
"response": {
"headers": [
{
"name": "content-type",
"value": "application/json"
}
],
"body": [
{
"id": 1,
"name": "Contoso Coffee Beans",
"price": 12.99
},
{
"id": 2,
"name": "Contoso Espresso Machine",
"price": 249.99
}
]
}
}
]
}
Кроме того, можно имитировать ошибки, двоичные ответы или условные ответы с помощью statusCode, nthили bodyFragment.
Настройка MockResponsePlugin
Создайте файл конфигурации прокси-сервера разработки с именем devproxyrc.json и включите следующую функцию MockResponsePlugin:
Файл: devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.0.0/rc.schema.json",
"plugins": [
{
"name": "MockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "mocksPlugin"
}
],
"urlsToWatch": [
"http://api.contoso.com/*"
],
"mocksPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.0.0/mockresponseplugin.schema.json",
"mocksFile": "mocks.json"
}
}
Это важно
Чтобы сопоставить несколько конечных точек, используйте подстановочные знаки в urlsToWatch. Чтобы убедиться в правильном сопоставлении, сначала поместите более конкретные макеты в ваш mocks.json.
Проверка конфигурации
Убедитесь, что макеты работают правильно, запустив прокси-сервер разработки и отправив запросы в макет API.
Запустите прокси-сервер разработки, если вы сохранили конфигурацию прокси-сервера разработки в файле с именем devproxyrc.json в текущем рабочем каталоге:
devproxy
Проверьте макет, отправив запрос через Прокси разработки:
curl -x http://127.0.0.1:8000 http://api.contoso.com/products
Вы должны получить имитированный список продуктов, определенный в mocks.json.
Предоставление макетного API с помощью туннелей разработки
Чтобы предоставить макетные ответы через Интернет, запустите туннель разработки, сопоставленный с портом прокси-сервера разработки. Настройте туннель для использования имени узла, настроенного для макетированного API.
Предупреждение
Разрешение анонимного доступа к туннелю разработки означает, что любой пользователь в Интернете может подключиться к локальному серверу, если он может угадать идентификатор туннеля разработки.
devtunnel host -p 8000 -a --host-header api.contoso.com
Эта команда сопоставляет порт прокси-сервера разработки с общедоступным URL-адресом HTTP. Теперь вы можете получить доступ к API макета из любого места:
curl http://<your-tunnel-id>-8000.<region>.devtunnels.ms/products