Amazon API Gateway
개발자 안내서

API Gateway에서 REST API 메서드 설정

API Gateway에서 API 메서드는 메서드 요청메서드 응답을 구현합니다. API 메서드를 설정하여 클라이언트가 백엔드에 있는 서비스에 대한 액세스 요청을 제출하기 위해 해야 할 것을 정의하고 클라이언트가 그 반대 급부로 수신하는 응답을 정의합니다. 입력의 경우, 메서드 요청 파라미터 또는 적용 가능 페이로드를 선택하여 클라이언트가 실행 시간에 필수 또는 선택 데이터를 제공하도록 할 수 있습니다. 출력의 경우, 메서드 응답 상태 코드, 헤더 및 적용 가능 본문을 백엔드 응답 데이터가 클라이언트에 반환되기 전에 이 데이터를 매핑할 대상으로 결정합니다. 클라이언트 개발자가 해당 API의 동작과 입력 및 출력 형식을 이해하는 데 도움을 주기 위해 API를 문서화하고 유효하지 않은 요청에 대해 적당한 오류 메시지를 제공할 수 있습니다.

API 메서드 요청은 HTTP 요청입니다. 메서드 요청을 설정하려면 HTTP 메서드(또는 동사), API 리소스 경로, 헤더, 적용 가능한 쿼리 문자열 파라미터를 구성합니다. 또한 HTTP 메서드가 POST, PUT 또는 PATCH인 경우 페이로드를 구성합니다. 예를 들어 PetStore 샘플 API를 사용하여 반려 동물을 검색하려면 GET /pets/{petId}의 API 메서드 요청을 정의합니다. 여기에서 {petId}는 실행 시간에 숫자를 받아들일 수 있는 경로 파라미터입니다.

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

클라이언트가 잘못된 경로를 지정하는 경우(예: /pet/1 대신에 /pets/one 또는 /pets/1을 지정) 예외가 발생합니다.

API 메서드 응답은 특정 상태 코드의 HTTP 응답입니다. 비 프록시 통합의 경우에는 메서드 응답을 설정하여 매핑의 필수 또는 선택 대상을 지정해야 합니다. 이를 통해 통합 응답 헤더 또는 본문을 연결된 메서드 응답 헤더 또는 본문으로 변환합니다. 매핑은 통합을 통해 있는 그대로 헤더나 본문을 전달하는 자격 증명 변환만큼 간단할 수 있습니다. 예를 들어 다음 200 메서드 응답에서는 성공적인 통합 응답을 있는 그대로 패스스루하는 예를 보여줍니다.

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

원칙적으로 백엔드에서 오는 특정 응답에 상응하는 메서드 응답을 정의할 수 있습니다. 일반적으로 이 작업에는 2XX, 4XX 및 5XX 응답이 수반됩니다. 그러나 이렇게 하는 것은 백엔드가 반환하는 모든 응답을 미리 알 수 없는 경우가 많으므로 실용적 방법이 되지 못할 수 있습니다. 실제로 한 가지 메서드 응답을 기본값으로 지정하여 백엔드에서 오는 알 수 없거나 매핑되지 않은 응답을 처리할 수 있습니다. 500 응답을 기본값으로 지정하는 것이 좋습니다. 어떤 경우에도 비 프록시 통합에 대해 메서드 응답을 최소 한 개 설정해야 합니다. 그렇게 하지 않으면 백엔드에서 요청이 성공하더라도 API Gateway는 클라이언트에게 500 오류 응답을 반환합니다.

해당 API에 대해 Java SDK와 같은 강력한 형식의 SDK를 지원하려면 메서드 요청에 대해 입력용 데이터 모델을 정의하고 메서드 응답에 대해 출력용 데이터 모델을 정의해야 합니다.