Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El uso de Dev Proxy es la manera más fácil de simular una API. Tanto si va a compilar el front-end como si la API aún no está lista, debe integrar el back-end con un servicio externo o desea probar la aplicación con respuestas diferentes, el proxy de desarrollo puede ayudarle a simular respuestas de API. Al integrar la API con servicios en la nube, debe exponer la API a través de Internet para que el servicio en la nube pueda acceder a ella. Para exponer respuestas simuladas por el Dev Proxy en Internet, use Túneles de desarrollo. En este artículo se explica cómo configurar respuestas ficticias para exponerse a través de Internet mediante túneles de desarrollo.
Definición de respuestas ficticias
Para exponer respuestas simuladas por Dev Proxy a través de Internet, empiece por configurar los mocks.
Importante
En este momento, los túneles de desarrollo solo admiten la exposición de respuestas ficticias HTTP a través de Internet.
Crear respuestas ficticias
Cree un archivo denominado mocks.json
que contenga las respuestas ficticias de la API personalizada. Por ejemplo, para simular una GET
solicitud a http://api.contoso.com/products
, defina:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.2/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
}
]
}
}
]
}
También puede simular errores, respuestas binarias o respuestas condicionales mediante statusCode
, nth
o bodyFragment
.
Configuración de MockResponsePlugin
Cree un archivo de configuración del proxy de desarrollo denominado devproxyrc.json
y habilite :MockResponsePlugin
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.2/rc.schema.json",
"plugins": [
{
"name": "MockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "mocksPlugin"
}
],
"urlsToWatch": [
"http://api.contoso.com/*"
],
"mocksPlugin": {
"mocksFile": "mocks.json"
}
}
Importante
Para obtener coincidencias de múltiples puntos de conexión, use caracteres comodín en urlsToWatch
. Para garantizar la coincidencia correcta, coloque primero los bocetos más específicos en mocks.json
.
Comprobación de la configuración
Compruebe que los simulacros funcionan correctamente mediante la ejecución del proxy de desarrollo y el envío de solicitudes a la API simulada.
Inicie el proxy de desarrollo, suponiendo que guardó la configuración del proxy de desarrollo en un archivo denominado devproxyrc.json
en el directorio de trabajo actual:
devproxy
Pruebe el simulacro mediante el envío de una solicitud a través del proxy de desarrollo:
curl -x http://127.0.0.1:8000 http://api.contoso.com/products
Debe recibir la lista de productos ficticios definida en mocks.json
.
Exposición de la API ficticia con túneles de desarrollo
Para exponer respuestas ficticias a través de Internet, inicie un túnel de desarrollo asignado al puerto del proxy de desarrollo. Configure el túnel para usar el nombre de host configurado para la API simulada.
Advertencia
Permitir el acceso anónimo a un túnel de desarrollo significa que cualquier persona de Internet puede conectarse al servidor local, si pueden adivinar el identificador del túnel de desarrollo.
devtunnel host -p 8000 -a --host-header api.contoso.com
Este comando asigna el puerto proxy de desarrollo a una dirección URL HTTP pública. Ahora puede acceder a la API ficticia desde cualquier lugar:
curl http://<your-tunnel-id>-8000.<region>.devtunnels.ms/products