API Gateway에서 통합 응답 설정 - Amazon API Gateway

API Gateway에서 통합 응답 설정

비 프록시 통합의 경우에는 통합 응답을 하나 이상 설정하고 이를 기본 응답으로 만들어 백엔드에서 클라이언트로 반환되는 결과를 전달해야 합니다. 그 결과를 있는 그대로 패스스루하거나 통합 응답 데이터를 메서드 응답 데이터로 변환(둘이 서로 다른 형식인 경우)할 수 있습니다.

프록시 통합의 경우, API Gateway는 백엔드 출력을 클라이언트에게 HTTP 응답으로 자동 전달합니다. 통합 응답이나 메서드 응답은 설정하지 않습니다.

통합 응답을 설정하려면 다음과 같은 필수 및 선택 작업을 수행합니다.

  1. 통합 응답 데이터가 매핑된 메서드 응답의 HTTP 상태 코드를 지정합니다. 이 항목은 필수입니다.

  2. 이 통합 응답이 표시할 백엔드 출력을 선택하기 위해 표현식을 정의합니다. 이를 비워둘 경우, 응답은 아직 구성되지 않은 응답을 파악하는 데 사용되는 기본 응답입니다.

  3. 필요한 경우 키-값 페어로 구성된 매핑을 선언하여 지정된 통합 응답 파라미터를 특정 메서드 응답 파라미터로 매핑합니다.

  4. 필요한 경우 본문 매핑 템플릿을 추가하여 특정 통합 응답 페이로드를 지정된 메서드 응답 페이로드로 변환합니다.

  5. 필요한 경우 바이너리 페이로드에 대해 형식 변환을 처리하는 방식을 지정합니다.

통합 응답은 백엔드 응답을 캡슐화하는 HTTP 응답입니다. HTTP 엔드포인트의 경우, 백엔드 응답은 HTTP 응답입니다. 통합 응답 상태 코드는 백엔드에서 반환하는 상태 코드를 받아들일 수 있고, 통합 응답 본문은 백엔드에서 반환하는 페이로드입니다. Lambda 엔드포인트의 경우, 백엔드 응답은 Lambda 함수에서 반환되는 출력입니다. Lambda 통합의 경우, Lambda 함수 출력은 200 OK 응답으로 반환됩니다. 페이로드에는 JSON 문자열이나 JSON 객체, 또는 JSON 객체인 오류 메시지 등 JSON 데이터가 결과로 포함될 수 있습니다. 정규식을 selectionPattern 속성에 할당하여 오류 응답을 적절한 HTTP 오류 응답으로 매핑할 수 있습니다. Lambda 함수 오류 응답에 대한 자세한 내용은 API Gateway에서 Lambda 오류 처리를 참조하세요. Lambda 프록시 통합의 경우, Lambda 함수는 다음 형식의 출력을 반환해야 합니다.

{ statusCode: "...", // a valid HTTP status code headers: { custom-header: "..." // any API-specific custom header }, body: "...", // a JSON string. isBase64Encoded: true|false // for binary support }

Lambda 함수 응답을 적당한 HTTP 응답으로 매핑할 필요가 없습니다.

클라이언트에게 결과를 반환하려면 통합 응답을 설정하여 엔드포인트 응답을 있는 그대로 그에 상응하는 메서드 응답으로 패스스루합니다. 또는 엔드포인트 응답 데이터를 메서드 응답 데이터에 매핑할 수 있습니다. 매핑할 수 있는 응답 데이터에는 응답 상태 코드, 응답 헤더 파라미터 및 응답 본문이 포함됩니다. 반환된 상태 코드에 대해 메서드 응답이 정의되지 않은 경우, API Gateway는 500 오류를 반환합니다. 자세한 내용은 매핑 템플릿을 사용한 API의 요청 및 응답 파라미터와 상태 코드 재정의 단원을 참조하십시오.