MockResponsePlugin
Simula respuestas.
Definición de instancia del complemento
{
"name": "MockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "mocksPlugin"
}
Ejemplo de configuración
{
"mocksPlugin": {
"mocksFile": "mocks.json"
}
}
Propiedades de configuración
Propiedad | Descripción | Default |
---|---|---|
mocksFile |
Ruta de acceso al archivo que contiene respuestas ficticias | mocks.json |
blockUnmockedRequests |
Devolver 502 Bad Gateway respuesta para las solicitudes que no se simulan |
false |
Opciones de línea de comandos
Nombre | Descripción | Default |
---|---|---|
-n, --no-mocks |
Deshabilitar la carga de solicitudes ficticias | false |
--mocks-file |
Ruta de acceso al archivo que contiene respuestas ficticias | - |
Ejemplos de archivos ficticios
A continuación se muestran ejemplos de objetos ficticios.
Responder con cuerpo
Respuesta a una solicitud con una respuesta 200 OK y un cuerpo JSON.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/me",
"method": "GET"
},
"response": {
"body": {
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
"businessPhones": ["+1 412 555 0109"],
"displayName": "Megan Bowen",
"givenName": "Megan",
"jobTitle": "Auditor",
"mail": "MeganB@M365x214355.onmicrosoft.com",
"mobilePhone": null,
"officeLocation": "12/1110",
"preferredLanguage": "en-US",
"surname": "Bowen",
"userPrincipalName": "MeganB@M365x214355.onmicrosoft.com",
"id": "48d31887-5fad-4d73-a9f5-3c356e68a038"
},
"headers": [
{
"name": "content-type",
"value": "application/json; odata.metadata=minimal"
}
]
}
}
Respuesta con error
Responda a una solicitud con una respuesta 404 No encontrada.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/me/photo",
"method": "GET"
},
"response": {
"statusCode": 404
}
}
Respuesta con datos binarios
Responda a una solicitud con una imagen binaria cargada desde un archivo en el disco.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/users/*/photo/$value",
"method": "GET"
},
"response": {
"body": "@picture.jpg",
"headers": [
{
"name": "content-type",
"value": "image/jpeg"
}
]
}
}
Responder a nth
petición
Responda a una solicitud solo después de la segunda vez que se llame.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/external/connections/*/operations/*",
"method": "GET",
"nth": 2
},
"response": {
"statusCode": 200,
"body": {
"id": "1.neu.0278337E599FC8DBF5607ED12CF463E4.6410CCF8F6DB8758539FB58EB56BF8DC",
"status": "completed",
"error": null
}
}
}
Respuesta que coincida con el cuerpo de la solicitud
Responda a una solicitud que contenga una cadena específica en el cuerpo.
{
"request": {
"url": "https://login.microsoftonline.com/fa15d692-e9c7-4460-a743-29f29522229/oauth2/v2.0/token",
"method": "POST",
"bodyFragment": "scope=https%3A%2F%2Fapi.contoso.com%2FDocuments.Read"
},
"response": {
"headers": [
{
"name": "Content-Type",
"value": "application/json; charset=utf-8"
}
],
"body": {
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSU..."
}
}
}
Simula las propiedades del archivo
Propiedad | Descripción | Requerido |
---|---|---|
request |
Objeto de solicitud que define la solicitud a la que responder | sí |
response |
Objeto response que define la respuesta que se va a devolver | sí |
Objeto de solicitud
Cada solicitud tiene las siguientes propiedades:
Propiedad | Descripción | Obligatorio | Valor predeterminado | Valor de ejemplo |
---|---|---|---|---|
url |
Dirección URL absoluta a un punto de conexión de API al que responder | sí | https://jsonplaceholder.typicode.com/posts |
|
method |
Verbo HTTP usado para hacer coincidir la solicitud con url |
no | GET |
GET |
nth |
Determina que el proxy debe responder solo después de interceptar la solicitud de la nª vez. | no | 2 |
|
bodyFragment |
Cadena que debe estar presente en el cuerpo de la solicitud. | no | foo |
Comentarios
Use el asterisco (*
) en la url
propiedad si desea que coincida con cualquier serie de caracteres de la dirección URL. Por ejemplo, https://jsonplaceholder.typicode.com/*
coincide con https://jsonplaceholder.typicode.com/posts
y https://jsonplaceholder.typicode.com/comments
. En tiempo de ejecución, Dev Proxy convierte cada una *
en una expresión .*
regular .
Al definir simulacros, coloque primero los simulacros más específicos. Por ejemplo, si tiene dos objetos ficticios, uno para https://jsonplaceholder.typicode.com/posts
y otro para https://jsonplaceholder.typicode.com/*
, coloque primero el primer simulacro. De lo contrario, el proxy de desarrollo coincide primero con el segundo simulacro y devuelve la respuesta de https://jsonplaceholder.typicode.com/*
todas las solicitudes.
Use la nth
propiedad si necesita enviar una dirección URL de solicitud diferente a la misma. Por ejemplo, úselo para simular una operación de ejecución prolongada. La primera vez que llame a la API, devuelve una respuesta con un inprogress
mensaje. La segunda vez que llama a la API, devuelve una respuesta con el completed
mensaje. Para obtener más información sobre la nth
propiedad , vea Mock nth request (Simulación de solicitud nth).
Con la bodyFragment
propiedad , puede hacer coincidir las solicitudes en función del contenido del cuerpo. Por ejemplo, si desea buscar coincidencias con las solicitudes que contienen la foo
cadena en el cuerpo, establezca la bodyFragment
propiedad foo
en . El proxy de desarrollo solo usa bodyFragment
para solicitudes distintas de GET
.
Objeto de respuesta
Cada respuesta tiene las siguientes propiedades:
Propiedad | Descripción | Obligatorio | Valor predeterminado | Valor de ejemplo |
---|---|---|---|---|
body |
Cuerpo que se va a enviar como respuesta a la solicitud | no | empty | { "foo": "bar" } |
statusCode |
Código de estado HTTP de respuesta | no | 200 |
404 |
headers |
Matriz de encabezados que se van a incluir en la respuesta | no | empty | [{ name: "content-type", "value": "application/json" }] |
Comentarios
Si desea devolver datos binarios, establezca la body
propiedad en un valor de cadena que comience por @
seguido de la ruta de acceso del archivo en relación con el archivo ficticio. Por ejemplo, @picture.jpg
devuelve la imagen almacenada en el picture.jpg
archivo en el mismo directorio que el archivo ficticio.