API Gateway의 게이트웨이 응답 - Amazon API Gateway

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

API Gateway의 게이트웨이 응답

게이트웨이 응답은 API Gateway에서 정의한 응답 유형으로 식별됩니다. 응답은 HTTP 상태 코드, 파라미터 매핑에 지정되는 추가 헤더 집합, 비 VTL 매핑 템플릿에 의해 생성되는 페이로드 등으로 구성됩니다.

API Gateway REST API에서 게이트웨이 응답은 GatewayResponse로 표시됩니다. OpenAPI에서 GatewayResponse 인스턴스는 x-amazon-apigateway-gateway-responses.gatewayResponse 확장으로 설명됩니다.

게이트웨이 응답을 활성화하려면 API 수준에서 지원되는 응답 유형에 대한 게이트웨이 응답을 설정합니다. API Gateway에서 해당 유형의 응답을 반환할 때마다 게이트웨이 응답에 정의된 헤더 매핑 및 페이로드 매핑 템플릿을 적용하여 매핑된 결과가 API 호출자에게 반환됩니다.

다음 섹션에서는 API Gateway 콘솔 및 API Gateway REST API를 사용하여 게이트웨이 응답을 설정하는 방법을 보여줍니다.

오류 응답을 사용자 지정하도록 게이트웨이 응답 설정

API Gateway에서 수신 요청을 처리하지 못한 경우 요청을 통합 백엔드에 전달하지 않고 클라이언트에 오류 응답을 반환합니다. 기본적으로 오류 응답에는 오류를 설명하는 짧은 설명이 포함되어 있습니다. 예를 들어 정의되지 않은 API 리소스에 대한 작업을 호출할 경우 { "message": "Missing Authentication Token" } 메시지를 포함하는 오류 응답이 수신됩니다. API Gateway를 처음 사용할 경우 실제로 무엇이 잘못되었는지 이해하기 어려울 수 있습니다.

일부 오류 응답에 대해 API 개발자는 API Gateway를 통해 다양한 형식으로 응답을 반환하도록 사용자 지정할 수 있습니다. Missing Authentication Token 예제에서 가능한 원인을 사용하여 원래 응답 페이로드에 힌트를 추가할 수 있습니다. 예를 들면 다음과 같습니다. {"message":"Missing Authentication Token", "hint":"The HTTP method or resources may not be supported."}.

API가 외부 Exchange와 AWS 클라우드 사이에서 중재할 경우, 통합 요청 또는 통합 응답에 대한 VTL 매핑 템플릿을 사용하여 페이로드를 다른 형식으로 매핑합니다. 하지만 VTL 매핑 템플릿은 성공적인 응답을 포함하는 유효한 요청에 대해서만 작동합니다.

요청이 유효하지 않은 경우 API Gateway에서는 통합을 완전히 무시하고 오류 응답을 반환합니다. 사용자 지정을 사용하여 오류 응답을 Exchange 호환 형식으로 렌더링해야 합니다. 여기서 사용자 지정은 간단한 변수 대체만 지원하는 비 VTL 매핑 템플릿으로 렌더링됩니다.

API Gateway에서 생성된 오류 응답을 API Gateway에서 생성되는 응답으로 일반화하며, 이를 게이트웨이 응답이라고 합니다. 이는 API Gateway에서 생성된 응답을 통합 응답과 구별합니다. 게이트웨이 응답 매핑 템플릿에서는 $context 변수 값, $stageVariables 속성 값 및 메서드 요청 파라미터에 method.request.param-position.param-name 형식으로 액세스할 수 있습니다.

$context 변수에 대한 자세한 내용은 $context데이터 모델, 권한 부여자, 매핑 템플릿, 액세스 로깅용 변수 CloudWatch 단원을 참조하십시오. $stageVariables에 대한 자세한 내용은 $stageVariables 단원을 참조하세요. 메서드 요청 파라미터에 대한 자세한 내용은 $input 변수 단원을 참조하세요.