Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Ejemplos de asignación de parámetros para las API de REST en API Gateway

Modo de enfoque
Ejemplos de asignación de parámetros para las API de REST en API Gateway - Amazon API Gateway

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.

AWS Management Console
Asignación del parámetro de solicitud de método
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Elija un método.

    El método debe tener una integración sin proxy.

  4. En Configuración de solicitud de método, elija Editar.

  5. Elija Encabezados de solicitud HTTP.

  6. Elija Agregar encabezado.

  7. En Nombre, escriba puppies.

  8. Seleccione Guardar.

  9. 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 a puppies 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.

  10. En Nombre, escriba DogsAge0.

  11. Seleccione Guardar.

  12. 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
  1. Elija la pestaña Prueba. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña.

  2. Para los encabezados, introduzca puppies:true.

  3. Seleccione Probar.

  4. 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 a DogsAge0.

AWS CloudFormation

En este ejemplo, utiliza la propiedad body para importar un archivo de definición de OpenAPI en API Gateway.

AWSTemplateFormatVersion: 2010-09-09 Resources: Api: Type: 'AWS::ApiGateway::RestApi' Properties: Body: openapi: 3.0.1 info: title: ParameterMappingExample version: "2025-02-04T00:30:41Z" paths: /pets: get: parameters: - name: puppies in: header schema: type: string responses: "200": description: 200 response x-amazon-apigateway-integration: httpMethod: GET uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets responses: default: statusCode: "200" requestParameters: integration.request.header.DogsAge0: method.request.header.puppies passthroughBehavior: when_no_match type: http ApiGatewayDeployment: Type: 'AWS::ApiGateway::Deployment' DependsOn: Api Properties: RestApiId: !Ref Api ApiGatewayDeployment20250219: Type: 'AWS::ApiGateway::Deployment' DependsOn: Api Properties: RestApiId: !Ref Api Stage: Type: 'AWS::ApiGateway::Stage' Properties: DeploymentId: !Ref ApiGatewayDeployment20250219 RestApiId: !Ref Api StageName: prod
OpenAPI
{ "openapi" : "3.0.1", "info" : { "title" : "ParameterMappingExample", "version" : "2025-02-04T00:30:41Z" }, "paths" : { "/pets" : { "get" : { "parameters" : [ { "name" : "puppies", "in" : "header", "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "200 response" } }, "x-amazon-apigateway-integration" : { "httpMethod" : "GET", "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets", "responses" : { "default" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.header.DogsAge0" : "method.request.header.puppies" }, "passthroughBehavior" : "when_no_match", "type" : "http" } } } } }
Asignación del parámetro de solicitud de método
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Elija un método.

    El método debe tener una integración sin proxy.

  4. En Configuración de solicitud de método, elija Editar.

  5. Elija Encabezados de solicitud HTTP.

  6. Elija Agregar encabezado.

  7. En Nombre, escriba puppies.

  8. Seleccione Guardar.

  9. 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 a puppies 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.

  10. En Nombre, escriba DogsAge0.

  11. Seleccione Guardar.

  12. 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
  1. Elija la pestaña Prueba. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña.

  2. Para los encabezados, introduzca puppies:true.

  3. Seleccione Probar.

  4. 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 a DogsAge0.

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.

AWS Management Console
Asignación de los parámetros de solicitud de método
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Elija un método.

    El método debe tener una integración sin proxy.

  4. En Configuración de solicitud de método, elija Editar.

  5. Elija Parámetros de cadenas de consulta de URL.

  6. Elija Añadir cadena de consulta.

  7. En Nombre, escriba methodRequestQueryParam.

  8. Elija Encabezados de solicitud HTTP.

  9. Elija Agregar encabezado.

  10. En Nombre, escriba methodRequestHeaderParam.

  11. Seleccione Guardar.

  12. Elija la pestaña Solicitud de integración y, a continuación, en Configuración de solicitud de integración, elija Editar.

  13. Elija los Parámetros de la ruta URL.

  14. Elija Añadir parámetro de ruta.

  15. En Nombre, escriba integrationPathParam.

  16. 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.

  17. Elija Parámetros de cadenas de consulta de URL.

  18. Elija Añadir cadena de consulta.

  19. En Nombre, escriba integrationQueryParam.

  20. 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.

  21. Seleccione Guardar.

  22. Vuelva a implementar la API para que los cambios se apliquen.

AWS CloudFormation

En este ejemplo, utiliza la propiedad body para importar un archivo de definición de OpenAPI en API Gateway.

La siguiente definición de OpenAPI crea las siguientes asignaciones de parámetros para una integración de HTTP:

  • El encabezado de la solicitud de método, llamado methodRequestHeaderParam, al parámetro de ruta de la solicitud de integración, llamado integrationPathParam

  • La cadena de consulta de la solicitud de método de varios valores, llamada methodRequestQueryParam, a la cadena de consulta de la solicitud de integración, llamada integrationQueryParam

AWSTemplateFormatVersion: 2010-09-09 Resources: Api: Type: 'AWS::ApiGateway::RestApi' Properties: Body: openapi: 3.0.1 info: title: Parameter mapping example 2 version: "2025-01-15T19:12:31Z" paths: /: post: parameters: - name: methodRequestQueryParam in: query schema: type: string - name: methodRequestHeaderParam in: header schema: type: string responses: "200": description: 200 response x-amazon-apigateway-integration: httpMethod: GET uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets responses: default: statusCode: "200" requestParameters: integration.request.querystring.integrationQueryParam: method.request.multivaluequerystring.methodRequestQueryParam integration.request.path.integrationPathParam: method.request.header.methodRequestHeaderParam requestTemplates: application/json: '{"statusCode": 200}' passthroughBehavior: when_no_templates timeoutInMillis: 29000 type: http ApiGatewayDeployment: Type: 'AWS::ApiGateway::Deployment' DependsOn: Api Properties: RestApiId: !Ref Api ApiGatewayDeployment20250219: Type: 'AWS::ApiGateway::Deployment' DependsOn: Api Properties: RestApiId: !Ref Api Stage: Type: 'AWS::ApiGateway::Stage' Properties: DeploymentId: !Ref ApiGatewayDeployment20250219 RestApiId: !Ref Api StageName: prod
OpenAPI

La siguiente definición de OpenAPI crea las siguientes asignaciones de parámetros para una integración de HTTP:

  • El encabezado de la solicitud de método, llamado methodRequestHeaderParam, al parámetro de ruta de la solicitud de integración, llamado integrationPathParam

  • La cadena de consulta de la solicitud de método de varios valores, llamada methodRequestQueryParam, a la cadena de consulta de la solicitud de integración, llamada integrationQueryParam

{ "openapi" : "3.0.1", "info" : { "title" : "Parameter mapping example 2", "version" : "2025-01-15T19:12:31Z" }, "paths" : { "/" : { "post" : { "parameters" : [ { "name" : "methodRequestQueryParam", "in" : "query", "schema" : { "type" : "string" } }, { "name" : "methodRequestHeaderParam", "in" : "header", "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "200 response" } }, "x-amazon-apigateway-integration" : { "httpMethod" : "GET", "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets", "responses" : { "default" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.querystring.integrationQueryParam" : "method.request.multivaluequerystring.methodRequestQueryParam", "integration.request.path.integrationPathParam" : "method.request.header.methodRequestHeaderParam" }, "requestTemplates" : { "application/json" : "{\"statusCode\": 200}" }, "passthroughBehavior" : "when_no_templates", "timeoutInMillis" : 29000, "type" : "http" } } } } }
Asignación de los parámetros de solicitud de método
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Elija un método.

    El método debe tener una integración sin proxy.

  4. En Configuración de solicitud de método, elija Editar.

  5. Elija Parámetros de cadenas de consulta de URL.

  6. Elija Añadir cadena de consulta.

  7. En Nombre, escriba methodRequestQueryParam.

  8. Elija Encabezados de solicitud HTTP.

  9. Elija Agregar encabezado.

  10. En Nombre, escriba methodRequestHeaderParam.

  11. Seleccione Guardar.

  12. Elija la pestaña Solicitud de integración y, a continuación, en Configuración de solicitud de integración, elija Editar.

  13. Elija los Parámetros de la ruta URL.

  14. Elija Añadir parámetro de ruta.

  15. En Nombre, escriba integrationPathParam.

  16. 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.

  17. Elija Parámetros de cadenas de consulta de URL.

  18. Elija Añadir cadena de consulta.

  19. En Nombre, escriba integrationQueryParam.

  20. 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.

  21. Seleccione Guardar.

  22. 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 JSONPath. El siguiente ejemplo asigna el cuerpo de solicitud de método a un encabezado de solicitud de integración denominado body-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 } ]
AWS Management Console
Asignación de los parámetros de solicitud de método
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Elija un método POST, PUT, PATCH o ANY.

    El método debe tener una integración sin proxy.

  4. En Configuración de solicitud de integración, elija Editar.

  5. Elija Parámetros de encabezado de solicitud de URL.

  6. Elija Agregar parámetro de encabezado de solicitud.

  7. En Nombre, escriba body-header.

  8. 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.

  9. Elija Agregar parámetro de encabezado de solicitud.

  10. En Nombre, escriba pet-price.

  11. 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.

  12. Seleccione Guardar.

  13. Vuelva a implementar la API para que los cambios se apliquen.

AWS CloudFormation

En este ejemplo, utiliza la propiedad body para importar un archivo de definición de OpenAPI en API Gateway.

AWSTemplateFormatVersion: 2010-09-09 Resources: Api: Type: 'AWS::ApiGateway::RestApi' Properties: Body: openapi: 3.0.1 info: title: Parameter mapping example 3 version: "2025-01-15T19:19:14Z" paths: /: post: responses: "200": description: 200 response x-amazon-apigateway-integration: httpMethod: GET uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets responses: default: statusCode: "200" requestParameters: integration.request.header.pet-price: method.request.body[0].price integration.request.header.body-header: method.request.body requestTemplates: application/json: '{"statusCode": 200}' passthroughBehavior: when_no_templates timeoutInMillis: 29000 type: http ApiGatewayDeployment: Type: 'AWS::ApiGateway::Deployment' DependsOn: Api Properties: RestApiId: !Ref Api ApiGatewayDeployment20250219: Type: 'AWS::ApiGateway::Deployment' DependsOn: Api Properties: RestApiId: !Ref Api Stage: Type: 'AWS::ApiGateway::Stage' Properties: DeploymentId: !Ref ApiGatewayDeployment20250219 RestApiId: !Ref Api StageName: prod
OpenAPI

La siguiente definición de OpenAPI asigna los parámetros de solicitud de integración de los campos del cuerpo de solicitud JSON.

{ "openapi" : "3.0.1", "info" : { "title" : "Parameter mapping example 3", "version" : "2025-01-15T19:19:14Z" }, "paths" : { "/" : { "post" : { "responses" : { "200" : { "description" : "200 response" } }, "x-amazon-apigateway-integration" : { "httpMethod" : "GET", "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets", "responses" : { "default" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.header.pet-price" : "method.request.body[0].price", "integration.request.header.body-header" : "method.request.body" }, "requestTemplates" : { "application/json" : "{\"statusCode\": 200}" }, "passthroughBehavior" : "when_no_templates", "timeoutInMillis" : 29000, "type" : "http" } } } } }
Asignación de los parámetros de solicitud de método
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Elija un método POST, PUT, PATCH o ANY.

    El método debe tener una integración sin proxy.

  4. En Configuración de solicitud de integración, elija Editar.

  5. Elija Parámetros de encabezado de solicitud de URL.

  6. Elija Agregar parámetro de encabezado de solicitud.

  7. En Nombre, escriba body-header.

  8. 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.

  9. Elija Agregar parámetro de encabezado de solicitud.

  10. En Nombre, escriba pet-price.

  11. 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.

  12. Seleccione Guardar.

  13. 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.

AWS Management Console
Asignación de la respuesta de integración
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Elija un método.

    El método debe tener una integración sin proxy.

  4. Elija la pestaña Respuesta de método y, a continuación, para Respuesta 200, elija Editar.

  5. En Nombre de encabezado, elija Agregar encabezado.

  6. Cree tres encabezados llamados id, item y location.

  7. Seleccione Guardar.

  8. Elija la pestaña Respuesta de integración y, a continuación, en Predeterminado: respuesta, elija Editar.

  9. En Asignaciones de encabezado, introduzca lo siguiente.

    1. En id, introduzca integration.response.header.x-app-id

    2. En item, introduzca integration.response.multivalueheader.item

    3. En location, introduzca integration.response.body.redirect.url

  10. Seleccione Guardar.

  11. Vuelva a implementar la API para que los cambios se apliquen.

AWS CloudFormation

En este ejemplo, utiliza la propiedad body para importar un archivo de definición de OpenAPI en API Gateway.

AWSTemplateFormatVersion: 2010-09-09 Resources: Api: Type: 'AWS::ApiGateway::RestApi' Properties: Body: openapi: 3.0.1 info: title: Parameter mapping example version: "2025-01-15T19:21:35Z" paths: /: post: responses: "200": description: 200 response headers: item: schema: type: string location: schema: type: string id: schema: type: string x-amazon-apigateway-integration: type: http httpMethod: GET uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets responses: default: statusCode: "200" responseParameters: method.response.header.id: integration.response.header.x-app-id method.response.header.location: integration.response.body.redirect.url method.response.header.item: integration.response.multivalueheader.item requestTemplates: application/json: '{"statusCode": 200}' passthroughBehavior: when_no_templates timeoutInMillis: 29000 ApiGatewayDeployment: Type: 'AWS::ApiGateway::Deployment' DependsOn: Api Properties: RestApiId: !Ref Api ApiGatewayDeployment20250219: Type: 'AWS::ApiGateway::Deployment' DependsOn: Api Properties: RestApiId: !Ref Api Stage: Type: 'AWS::ApiGateway::Stage' Properties: DeploymentId: !Ref ApiGatewayDeployment20250219 RestApiId: !Ref Api StageName: prod
OpenAPI

La siguiente definición de OpenAPI asigna la respuesta de integración a la respuesta de método.

{ "openapi" : "3.0.1", "info" : { "title" : "Parameter mapping example", "version" : "2025-01-15T19:21:35Z" }, "paths" : { "/" : { "post" : { "responses" : { "200" : { "description" : "200 response", "headers" : { "item" : { "schema" : { "type" : "string" } }, "location" : { "schema" : { "type" : "string" } }, "id" : { "schema" : { "type" : "string" } } } } }, "x-amazon-apigateway-integration" : { "type" : "http", "httpMethod" : "GET", "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets", "responses" : { "default" : { "statusCode" : "200", "responseParameters" : { "method.response.header.id" : "integration.response.header.x-app-id", "method.response.header.location" : "integration.response.body.redirect.url", "method.response.header.item" : "integration.response.multivalueheader.item" } } }, "requestTemplates" : { "application/json" : "{\"statusCode\": 200}" }, "passthroughBehavior" : "when_no_templates", "timeoutInMillis" : 29000 } } } } }
Asignación de la respuesta de integración
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Elija un método.

    El método debe tener una integración sin proxy.

  4. Elija la pestaña Respuesta de método y, a continuación, para Respuesta 200, elija Editar.

  5. En Nombre de encabezado, elija Agregar encabezado.

  6. Cree tres encabezados llamados id, item y location.

  7. Seleccione Guardar.

  8. Elija la pestaña Respuesta de integración y, a continuación, en Predeterminado: respuesta, elija Editar.

  9. En Asignaciones de encabezado, introduzca lo siguiente.

    1. En id, introduzca integration.response.header.x-app-id

    2. En item, introduzca integration.response.multivalueheader.item

    3. En location, introduzca integration.response.body.redirect.url

  10. Seleccione Guardar.

  11. Vuelva a implementar la API para que los cambios se apliquen.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.