En los siguientes ejemplos se muestra cómo crear expresiones de asignación de parámetros mediante la consola de API Gateway, OpenAPI y plantillas de AWS CloudFormation. Para ver un ejemplo de cómo utilizar la asignación de parámetros para crear los encabezados CORS necesarios, consulte CORS para las API de REST en API Gateway.
Ejemplo 1: asignar un parámetro de solicitud de método a un parámetro de solicitud de integración
En el siguiente ejemplo se asigna el parámetro de encabezado de solicitud de método puppies
al parámetro de encabezado de solicitud de integración DogsAge0
.
Asignación del parámetro de solicitud de método
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. Elija una API de REST.
Elija un método.
El método debe tener una integración sin proxy.
-
En Configuración de solicitud de método, elija Editar.
Elija Encabezados de solicitud HTTP.
Elija Agregar encabezado.
En Nombre, escriba
puppies
.Seleccione Guardar.
-
Elija la pestaña Solicitud de integración y, a continuación, en Configuración de solicitud de integración, elija Editar.
La AWS Management Console agrega automáticamente una asignación de parámetros de
method.request.header.puppies
apuppies
por usted, pero debe cambiar el Nombre para que coincida con el parámetro de encabezado de solicitud que espera el punto de conexión de integración. -
En Nombre, escriba
DogsAge0
. Seleccione Guardar.
Vuelva a implementar la API para que los cambios se apliquen.
En los siguientes pasos se muestra cómo verificar que la asignación de parámetros se ha realizado correctamente.
(Opcional) Prueba de la asignación de parámetros
Elija la pestaña Prueba. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña.
Para los encabezados, introduzca
puppies:true
.Seleccione Probar.
En Registros, el resultado debería tener el siguiente aspecto:
Tue Feb 04 00:28:36 UTC 2025 : Method request headers: {puppies=true} Tue Feb 04 00:28:36 UTC 2025 : Method request body before transformations: Tue Feb 04 00:28:36 UTC 2025 : Endpoint request URI: http://petstore-demo-endpoint.execute-api.com/petstore/pets Tue Feb 04 00:28:36 UTC 2025 : Endpoint request headers: {DogsAge0=true, x-amzn-apigateway-api-id=abcd1234, Accept=application/json, User-Agent=AmazonAPIGateway_aaaaaaa, X-Amzn-Trace-Id=Root=1-abcd-12344}
El parámetro de encabezado de solicitud ha cambiado de
puppies
aDogsAge0
.
Ejemplo 2: asignar varios parámetros de solicitud de método a diferentes parámetros de solicitud de integración
En el siguiente ejemplo, se asigna el parámetro de cadena de consulta de solicitud de método de varios valores methodRequestQueryParam
al parámetro de cadena de consulta de solicitud de integración integrationQueryParam
y se asigna el parámetro de encabezado de solicitud de método methodRequestHeaderParam
al parámetro de ruta de solicitud de integración integrationPathParam
.
Asignación de los parámetros de solicitud de método
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. Elija una API de REST.
Elija un método.
El método debe tener una integración sin proxy.
-
En Configuración de solicitud de método, elija Editar.
Elija Parámetros de cadenas de consulta de URL.
Elija Añadir cadena de consulta.
En Nombre, escriba
methodRequestQueryParam
.Elija Encabezados de solicitud HTTP.
Elija Agregar encabezado.
En Nombre, escriba
methodRequestHeaderParam
.Seleccione Guardar.
-
Elija la pestaña Solicitud de integración y, a continuación, en Configuración de solicitud de integración, elija Editar.
Elija los Parámetros de la ruta URL.
Elija Añadir parámetro de ruta.
-
En Nombre, escriba
integrationPathParam
. En Asignado desde, introduzca
method.request.header.methodRequestHeaderParam
.Esto asigna el encabezado de solicitud de método que especificó en la solicitud de método a un nuevo parámetro de ruta de solicitud de integración.
Elija Parámetros de cadenas de consulta de URL.
Elija Añadir cadena de consulta.
-
En Nombre, escriba
integrationQueryParam
. En Asignado desde, introduzca
method.request.multivaluequerystring.methodRequestQueryParam
.Esto asigna el parámetro de cadena de consulta de varios valores a un nuevo parámetro de cadena de consulta de solicitud de integración de valor único.
Seleccione Guardar.
Vuelva a implementar la API para que los cambios se apliquen.
Ejemplo 3: asignar campos del cuerpo de la solicitud JSON a los parámetros de la solicitud de integración
También puede asignar parámetros de solicitud de integración desde campos del cuerpo de la solicitud JSON mediante una expresión JSONPathbody-header
y asigna parte del cuerpo de solicitud, expresado mediante una expresión JSON, a un encabezado de solicitud de integración denominado pet-price
.
Para probar este ejemplo, proporcione una entrada que contenga una categoría de precio, como la siguiente:
[ { "id": 1, "type": "dog", "price": 249.99 } ]
Asignación de los parámetros de solicitud de método
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. Elija una API de REST.
-
Elija un método
POST
,PUT
,PATCH
oANY
.El método debe tener una integración sin proxy.
-
En Configuración de solicitud de integración, elija Editar.
Elija Parámetros de encabezado de solicitud de URL.
Elija Agregar parámetro de encabezado de solicitud.
-
En Nombre, escriba
body-header
. En Asignado desde, introduzca
method.request.body
.Esto asigna el cuerpo de solicitud de método a un nuevo parámetro de encabezado de solicitud de integración.
Elija Agregar parámetro de encabezado de solicitud.
-
En Nombre, escriba
pet-price
. En Asignado desde, introduzca
method.request.body[0].price
.Esto asigna una parte del cuerpo de solicitud de método a un nuevo parámetro de encabezado de solicitud de integración.
Seleccione Guardar.
Vuelva a implementar la API para que los cambios se apliquen.
Ejemplo 4: asignar la respuesta de integración a la respuesta de método
También puede asignar la respuesta de integración a la respuesta de método. En el siguiente ejemplo se asigna el cuerpo de respuesta de integración a un encabezado de respuesta de método denominado location
, se asigna el encabezado de respuesta de integración x-app-id
al encabezado de respuesta de método id
y se asigna el encabezado de respuesta de integración de varios valores item
al encabezado de respuesta de método items
.
Asignación de la respuesta de integración
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. Elija una API de REST.
Elija un método.
El método debe tener una integración sin proxy.
-
Elija la pestaña Respuesta de método y, a continuación, para Respuesta 200, elija Editar.
En Nombre de encabezado, elija Agregar encabezado.
Cree tres encabezados llamados
id
,item
ylocation
.Seleccione Guardar.
-
Elija la pestaña Respuesta de integración y, a continuación, en Predeterminado: respuesta, elija Editar.
En Asignaciones de encabezado, introduzca lo siguiente.
En id, introduzca
integration.response.header.x-app-id
En item, introduzca
integration.response.multivalueheader.item
En location, introduzca
integration.response.body.redirect.url
-
Seleccione Guardar.
Vuelva a implementar la API para que los cambios se apliquen.