API Gateway에 사용 가능한 메서드가 있어야 합니다. 자습서: HTTP 비 프록시 통합을 통해 REST API 생성의 지침을 따르세요.
-
API 리소스를 선택하고 메서드 생성을 선택합니다.
메서드를 생성하려면 다음을 수행합니다.
메서드 유형에서 메서드를 선택합니다.
통합 유형에서 Mock을 선택합니다.
메서드 생성을 선택합니다.
메서드 요청 탭의 메서드 요청 설정에서 편집을 선택합니다.
-
URL 쿼리 문자열 파라미터를 선택합니다. 쿼리 문자열 추가를 선택하고 이름에
scope
를 입력합니다. 쿼리 파라미터에 따라 호출자가 내부 호출자인지 아닌지 결정됩니다. -
Save(저장)를 선택합니다.
-
메서드 응답 탭에서 응답 생성을 선택하고 다음을 수행합니다.
-
HTTP 상태에
500
을 입력합니다. Save(저장)를 선택합니다.
-
-
통합 요청 탭의 통합 요청 설정에서 편집을 선택합니다.
-
매핑 템플릿을 선택한 후 다음을 수행합니다.
매핑 템플릿 추가(Add mapping template)를 선택합니다.
콘텐츠 유형에
application/json
을 입력합니다.템플릿 본문에 다음을 입력합니다.
{ #if( $input.params('scope') == "internal" ) "statusCode": 200 #else "statusCode": 500 #end }
Save(저장)를 선택합니다.
-
통합 응답 탭의 기본값 - 응답에서 편집을 선택합니다.
-
매핑 템플릿을 선택한 후 다음을 수행합니다.
콘텐츠 유형에
application/json
을 입력합니다.템플릿 본문에 다음을 입력합니다.
{ "statusCode": 200, "message": "Go ahead without me" }
Save(저장)를 선택합니다.
-
응답 생성을 선택합니다.
500 응답을 생성하려면 다음을 수행합니다.
-
HTTP 상태 regex에
5\d{2}
를 입력합니다. 메서드 응답 상태에서
500
을 선택합니다.Save(저장)를 선택합니다.
-
5\d{2} - 응답에서 편집을 선택합니다.
매핑 템플릿을 선택한 다음 매핑 템플릿 추가를 선택합니다.
콘텐츠 유형에
application/json
을 입력합니다.템플릿 본문에 다음을 입력합니다.
{ "statusCode": 500, "message": "The invoked method is not supported on the API resource." }
Save(저장)를 선택합니다.
-
-
테스트 탭을 선택합니다. 탭을 표시하려면 오른쪽 화살표 버튼을 선택해야 할 수도 있습니다. Mock 통합을 테스트하려면 다음을 수행합니다.
-
쿼리 문자열에
scope=internal
을 입력합니다. 테스트를 선택합니다. 테스트 결과에 다음이 표시됩니다.Request: /?scope=internal Status: 200 Latency: 26 ms Response Body { "statusCode": 200, "message": "Go ahead without me" } Response Headers {"Content-Type":"application/json"}
-
Query strings
에scope=public
을 입력하거나 비워 둡니다. 테스트를 선택합니다. 테스트 결과에 다음이 표시됩니다.Request: / Status: 500 Latency: 16 ms Response Body { "statusCode": 500, "message": "The invoked method is not supported on the API resource." } Response Headers {"Content-Type":"application/json"}
-
먼저 메서드 응답에 헤더를 추가한 다음 통합 응답에서 헤더 매핑을 설정하면 모의 통합 응답에서 헤더를 반환할 수도 있습니다. 이는 사실 API Gateway 콘솔이 CORS 필수 헤더를 반환하여 CORS 지원을 활성화하는 방법입니다.