

# API Gateway 콘솔을 사용하여 모의 통합 활성화
<a name="how-to-mock-integration-console"></a>

API Gateway에 사용 가능한 메서드가 있어야 합니다. [자습서: HTTP 비 프록시 통합을 통해 REST API 생성](api-gateway-create-api-step-by-step.md)의 지침을 따르세요.

1. API 리소스를 선택하고 **메서드 생성**을 선택합니다.

   메서드를 생성하려면 다음을 수행합니다.

   1. **메서드 유형**에서 메서드를 선택합니다.

   1. **통합 유형**에서 **Mock**을 선택합니다.

   1. **메서드 생성**을 선택합니다.

   1. **메서드 요청** 탭의 **메서드 요청 설정**에서 **편집**을 선택합니다.

   1. **URL 쿼리 문자열 파라미터**를 선택합니다. **쿼리 문자열 추가**를 선택하고 **이름**에 **scope**를 입력합니다. 쿼리 파라미터에 따라 호출자가 내부 호출자인지 아닌지 결정됩니다.

   1. **저장**을 선택합니다.

1. **메서드 응답** 탭에서 **응답 생성**을 선택하고 다음을 수행합니다.

   1. **HTTP 상태**에 **500**을 입력합니다.

   1. **저장**을 선택합니다.

1. **통합 요청** 탭의 **통합 요청 설정**에서 **편집**을 선택합니다.

1. **매핑 템플릿**을 선택한 후 다음을 수행합니다.

   1. **매핑 템플릿 추가(Add mapping template)**를 선택합니다.

   1. **콘텐츠 유형**에 **application/json**을 입력합니다.

   1. **템플릿 본문**에 다음을 입력합니다.

      ```
      {
        #if( $input.params('scope') == "internal" )
          "statusCode": 200
        #else
          "statusCode": 500
        #end
      }
      ```

   1. **저장**을 선택합니다.

1. **통합 응답** 탭의 **기본값 - 응답**에서 **편집**을 선택합니다.

1. **매핑 템플릿**을 선택한 후 다음을 수행합니다.

   1. **콘텐츠 유형**에 **application/json**을 입력합니다.

   1. **템플릿 본문**에 다음을 입력합니다.

      ```
      {
          "statusCode": 200,
          "message": "Go ahead without me"
      }
      ```

   1. **저장**을 선택합니다.

1. **응답 생성**을 선택합니다.

   500 응답을 생성하려면 다음을 수행합니다.

   1. **HTTP 상태 regex**에 **5\$1d\$12\$1**를 입력합니다.

   1. **메서드 응답 상태**에서 **500**을 선택합니다.

   1. **저장**을 선택합니다.

   1. **5\$1d\$12\$1 - 응답**에서 **편집**을 선택합니다.

   1. **매핑 템플릿**을 선택한 다음 **매핑 템플릿 추가**를 선택합니다.

   1. **콘텐츠 유형**에 **application/json**을 입력합니다.

   1. **템플릿 본문**에 다음을 입력합니다.

      ```
      {
          "statusCode": 500,
          "message": "The invoked method is not supported on the API resource."
      }
      ```

   1. **저장**을 선택합니다.

1.  **테스트** 탭을 선택합니다. 탭을 표시하려면 오른쪽 화살표 버튼을 선택해야 할 수도 있습니다. Mock 통합을 테스트하려면 다음을 수행합니다.

   1. **쿼리 문자열**에 `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"}
      ```

   1. `scope=public`에 `Query strings`을 입력하거나 비워 둡니다. **테스트**를 선택합니다. 테스트 결과에 다음이 표시됩니다.

      ```
      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 지원을 활성화하는 방법입니다.