

# Referencia de origen de asignación de parámetros para las API de REST en API Gateway
<a name="rest-api-parameter-mapping-sources"></a>

Cuando crea una asignación de parámetro, especifica los parámetros de solicitud de método o de respuesta de integración que desea modificar y especifica cómo modificarlos.

En la siguiente tabla se muestran los parámetros de solicitud de método que puede asignar y la expresión para crear la asignación. En estas expresiones, *name* es el nombre de un parámetro de solicitud de método. Por ejemplo, para asignar el parámetro de encabezado de solicitud `puppies`, utilice la expresión `method.request.header.puppies`. La expresión debe coincidir con la expresión regular `'^[a-zA-Z0-9._$-]+$]'`. Puede utilizar la asignación de parámetros en la solicitud de integración para integraciones de proxy y de no proxy. 


| **Origen de datos asignado** | **Expresión de asignación** | 
| --- | --- | 
| Ruta de solicitud de método | method.request.path.name | 
| Cadena de consulta de solicitud de método | method.request.querystring.name | 
| Cadena de consulta de solicitud de método multivalor | method.request.multivaluequerystring.name | 
| Encabezado de solicitud de método | method.request.header.name | 
| Encabezado de solicitud de método multivalor | method.request.multivalueheader.name | 
| Cuerpo de solicitud de método | method.request.body | 
| Cuerpo de solicitud de método (JsonPath) | `method.request.body.JSONPath_EXPRESSION`. *JSONPath\$1EXPRESSION* es una expresión JSONPath para un campo JSON del cuerpo de una solicitud. Para obtener más información, consulte [Expresión JSONPath](http://goessner.net/articles/JsonPath/index.html#e2).  | 
| Variables de etapa | stageVariables.name | 
| Variables de contexto |  `context.name` El nombre debe ser una de las [variables de contexto admitidas](api-gateway-mapping-template-reference.md#context-variable-reference). | 
| Valor estático | `'static_value'`. El valor de *static\$1value* es un literal de cadena que se debe incluir entre comillas simples. Por ejemplo, `'https://www.example.com'`. | 

En la siguiente tabla se muestran los parámetros de respuesta de integración que puede asignar y la expresión para crear la asignación. En estas expresiones, *name* es el nombre de un parámetro de respuesta de integración. Puede asignar encabezados de respuesta de método desde cualquier encabezado de respuesta de integración o cuerpo de respuesta de integración, variables de contexto o valores estáticos. Para utilizar la asignación de parámetros para una respuesta de integración, necesita una integración de no proxy.


| Origen de datos asignado | Expresión de asignación | 
| --- | --- | 
| Encabezado de respuesta de integración | integration.response.header.name | 
| Encabezado de respuesta de integración | integration.response.multivalueheader.name | 
| Cuerpo de respuesta de integración | integration.response.body | 
| Cuerpo de respuesta de integración (JsonPath) | `integration.response.body.JSONPath_EXPRESSION` *JSONPath\$1EXPRESSION* es una expresión JSONPath para un campo JSON del cuerpo de una respuesta. Para obtener más información, consulte [Expresión JSONPath](http://goessner.net/articles/JsonPath/index.html#e2). | 
| Variable de etapa | stageVariables.name | 
| Variable de contexto |  `context.name` El nombre debe ser una de las [variables de contexto admitidas](api-gateway-mapping-template-reference.md#context-variable-reference). | 
| Valor estático | ` 'static_value'` El valor de *static\$1value* es un literal de cadena que se debe incluir entre comillas simples. Por ejemplo, `'https://www.example.com'`. | 