Transformación de solicitudes entrantes y respuestas salientes
Descubra cómo modificar las solicitudes entrantes y las respuestas salientes que se envían desde y hacia los servicios de backend con API Gateway.
A menudo hay situaciones en las que desea que un gateway de API modifique las solicitudes entrantes antes de enviarlas a servicios backend. Del mismo modo, puede que desee que el gateway de API modifique las respuestas devueltas por los servicios backend. Por ejemplo:
- Los servicios backend pueden requerir que las solicitudes incluyan un juego concreto de cabeceras HTTP (por ejemplo, Accept-Language y Accept-Encoding). Para ocultar este detalle de implantación a los consumidores y clientes de API, puede utilizar el gateway de API para agregar las cabeceras necesarias.
- Los servidores web suelen incluir información de versión completa en las cabeceras de respuesta. Por razones de seguridad, es posible que desee evitar que los consumidores y clientes de API conozcan la pila de tecnología subyacente. Puede utilizar el gateway de API para eliminar las cabeceras del servidor de las respuestas.
- Los servicios backend pueden incluir información confidencial en una respuesta. Puede utilizar el gateway de API para eliminar dicha información.
Mediante un gateway de API, puede:
- Agregar, eliminar y modificar cabeceras en solicitudes y respuestas.
- Agregar, eliminar y modificar los parámetros de consulta en solicitudes.
- Reescribir URL de solicitud desde un formato público a un formato interno, tal vez para soportar aplicaciones heredadas y migraciones.
Puede utilizar políticas de solicitud y respuesta para transformar las cabeceras y los parámetros de consulta de las solicitudes entrantes y las cabeceras de las respuestas salientes (consulte Agregación de políticas de solicitud y políticas de respuesta a especificaciones de despliegue de API).
Puede incluir variables de contexto en las políticas de respuesta y solicitud de transformación de cabecera y parámetros de consulta. La inclusión de variables de contexto permite modificar cabeceras y parámetros de consulta con los valores de otras cabeceras, parámetros de consulta, parámetros de ruta de acceso y parámetros de autenticación. Tenga en cuenta que los valores de los valores de variables de contexto se extraen de la solicitud o respuesta original y no se actualizan posteriormente, porque un gateway de API utiliza una política de transformación para evaluar una solicitud o respuesta. Para obtener más información sobre las variables de contexto, consulte Agregación de variables de contexto a políticas y definiciones de backend HTTP.
Si una solicitud de transformación de cabecera o de parámetro de consulta o una política de respuesta dan lugar a un parámetro de consulta o cabecera no válido, se ignorará la política de transformación.
Tenga en cuenta que no puede utilizar políticas de transformación de cabecera para transformar determinadas cabeceras de solicitud y respuesta protegidas. Consulte Cabeceras de solicitud protegidas y cabeceras de respuesta.
Puede agregar políticas de respuesta y solicitud de transformación de parámetros de consulta y cabecera a una especificación de despliegue de API mediante:
- uso de la consola
- edición de un archivo JSON
Contenido:
- Agregación de políticas de solicitudes de transformación de cabecera
- Agregación de políticas de solicitudes de transformación de parámetros de consulta
- Agregación de políticas de respuesta de transformación de cabecera
- Ejemplos de transformación
- Cabeceras de solicitud y cabeceras de respuesta protegidas