Métodos de API de REST en API Gateway - Amazon API Gateway

Métodos de API de REST en API Gateway

En API Gateway, un método de API incluye una solicitud de método y una respuesta de método. Se configura un método de API para definir lo que un cliente debería o debe hacer para enviar una solicitud de acceso al servicio en el backend y para definir las respuestas que recibe a cambio el cliente. Para la entrada, puede elegir los parámetros de solicitud de método, o bien una carga aplicable, para que el cliente proporcione los datos necesarios u opcionales en el tiempo de ejecución. Para la salida, se determina el código de estado de respuesta del método, los encabezados y el cuerpo aplicable como destinos a los que asignar los datos de respuesta del backend, antes de que se devuelvan al cliente. Para ayudar al desarrollador cliente a comprender los comportamientos y los formatos de entrada y salida de su API, puede documentar la API y ofrecer mensajes de error adecuados para solicitudes no válidas.

Una solicitud de método de API es una solicitud HTTP. Para configurar la solicitud de método, debe configurar un método (o verbo) HTTP, la ruta a un recurso de API, los encabezados y los parámetros de cadenas de consulta aplicables. También configura una carga cuando el método HTTP es POST, PUTo PATCH. Por ejemplo, para recuperar una mascota con la API de muestra PetStore, define la solicitud de método de API de GET /pets/{petId}, donde {petId} es un parámetro de ruta que puede tomar un número en tiempo de ejecución.

GET /pets/1 Host: apigateway.us-east-1.amazonaws.com ...

Si el cliente especifica una ruta incorrecta, por ejemplo, /pet/1 o /pets/one en lugar de /pets/1, se lanza una excepción.

Una respuesta de método de API es una respuesta HTTP con un código de estado determinado. Para una integración que no sea de proxy, debe configurar respuestas de método para especificar los destinos necesarios u opcionales de las asignaciones. Estos transforman los encabezados o el cuerpo de respuesta de la integración en encabezados o en cuerpo de respuesta de método. El mapeo puede ser tan sencillo como una transformación de identidad que pasa los encabezados o el cuerpo a través de la integración tal y como están. Por ejemplo, la siguiente respuesta de método 200 muestra un ejemplo de transferencia de una respuesta de integración correcta tal y como está.

200 OK Content-Type: application/json ... { "id": "1", "type": "dog", "price": "$249.99" }

En principio, puede definir una respuesta de método correspondiente a una respuesta específica desde el backend. Normalmente, esto implica cualquier respuesta 2XX, 4XX y 5XX. Sin embargo, puede que no sea práctico, porque a menudo es posible que no sepa con antelación todas las respuestas que puede devolver un backend. En la práctica, puede designar una respuesta de método como predeterminada para gestionar las respuestas desconocidas o no asignadas desde el backend. Es una buena práctica designar la respuesta 500 como predeterminada. En cualquier caso, debe configurar al menos una respuesta de método para integraciones que no sean de proxy. De lo contrario, API Gateway devuelve una respuesta de error 500 al cliente incluso cuando la solicitud se completa correctamente en el backend.

Para admitir un SDK con establecimiento inflexible de tipos para la API, como un SDK de Java, debe definir el modelo de datos de entrada para la solicitud de método y definir el modelo de datos de salida de la respuesta de método.

Requisitos previos

Antes de configurar un método de API, verifique lo siguiente:

nota

Al crear un método mediante la consola de la API de REST, se configuran la solicitud de integración y la solicitud del método. Para obtener más información, consulte Configuración de una solicitud de integración de la API mediante la consola de API Gateway.