API Gateway 콘솔을 사용하여 메서드 설정 - Amazon API Gateway

API Gateway 콘솔을 사용하여 메서드 설정

REST API 콘솔을 사용하여 메서드를 생성하는 경우 통합 요청과 메서드 요청을 모두 구성합니다. 기본적으로 API Gateway는 사용자 메서드의 200 메서드 응답을 생성합니다.

다음 지침은 메서드 요청 설정을 편집하는 방법과 메서드에 대한 추가 메서드 응답을 생성하는 방법을 보여줍니다.

API Gateway 콘솔에서 API Gateway 메서드 요청 편집

이러한 지침에서는 메서드 요청을 이미 생성한 것으로 가정합니다. 매소드를 생성하는 방법에 대한 자세한 내용은 API Gateway 콘솔을 사용하여 API 통합 요청 설정 단원을 참조하세요.

  1. 리소스 창에서 메소드를 선택한 후 메서드 요청 탭을 선택합니다.

  2. 메서드 요청 설정 섹션에서 편집을 선택합니다.

  3. 권한 부여에서 사용 가능한 권한 부여자를 선택합니다.

    1. 모든 사용자에게 메서드에 대한 오픈 액세스를 활성화하려면 없음을 선택합니다. 기본값 설정이 변경되지 않은 경우 이 단계는 건너뛸 수 있습니다.

    2. IAM 권한을 사용하여 메서드에 대한 클라이언트 액세스 권한을 제어하려면 AWS_IAM을 선택합니다. 이 선택을 통해 올바른 IAM 정책이 연결된 IAM 역할의 사용자만 이 메서드를 호출할 수 있습니다.

      IAM 역할을 생성하려면 다음과 같은 형식의 액세스 정책을 지정합니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "resource-statement" ] } ] }

      이 액세스 정책에서 resource-statement는 메서드의 ARN입니다. 리소스 페이지에서 방법을 선택하면 메서드의 ARN을 찾을 수 있습니다. IAM 권한 설정에 대한 자세한 내용은 IAM 권한을 사용하여 REST API에 대한 액세스 제어를 참조하세요.

      IAM 역할을 만들려면 다음 자습서 Lambda 비 프록시 통합을 위한 Lambda 함수 만들기의 지침을 적용하면 됩니다..

    3. Lambda 권한 부여자를 사용하려면 토큰 또는 요청 권한 부여자를 선택합니다. 이 선택이 드롭다운 메뉴에 표시되도록 하기 위해서는 Lambda 권한 부여자를 생성합니다. Lambda 권한 부여자를 생성하는 방법에 대한 자세한 내용은 API Gateway Lambda 권한 부여자 사용 단원을 참조하세요.

    4. Amazon Cognito 사용자 풀을 사용하려면 Cognito 사용자 풀 권한 부여자에서 사용할 수 있는 사용자 풀을 선택합니다. 이 선택이 드롭다운 메뉴에 표시되도록 하기 위해서는 Amazon Cognito에 사용자 풀을 생성하고 API Gateway에 Amazon Cognito 사용자 풀 권한 부여자를 생성합니다. Amazon Cognito 사용자 풀 권한 부여자를 생성하는 방법에 대한 자세한 내용은 Amazon Cognito 사용자 풀을 권한 부여자로 사용하여 REST API에 대한 액세스 제어 단원을 참조하세요.

  4. 요청 검증을 지정하려면 요청 검사기 드롭다운 메뉴에서 값을 선택합니다. 요청 검증을 비활성화하려면 없음을 선택합니다. 각 옵션에 대한 자세한 내용은 API Gateway의 REST API API 검증 요청를 참조하십시오.

  5. API 키를 요구하려면 API 키가 필요함을 선택합니다. API는 활성화되면 사용량 계획에서 클라이언트 트래픽을 조절하는 데 사용됩니다.

  6. (선택 사항) API Gateway에서 생성된 이 API의 Java SDK에서 작업 이름을 할당하려면 작업 이름에 이름을 입력합니다. 예를 들어 GET /pets/{petId}의 메서드 요청에 대해 이에 상응하는 Java SDK 작업 이름은 기본적으로 GetPetsPetId입니다. 이 이름은 메서드의 HTTP 동사(GET)와 리소스 경로 변수 이름(PetsPetId)으로부터 구성됩니다. 작업 이름을 getPetById로 설정하면 SDK 작업 이름은 GetPetById가 됩니다.

  7. 메서드에 쿼리 문자열 파라미터를 추가하려면 다음을 수행합니다.

    1. URL 쿼리 문자열 파라미터를 선택한 다음, 쿼리 문자열 추가를 선택합니다.

    2. 이름에 쿼리 문자열 파라미터의 이름을 입력합니다.

    3. 새로 생성된 쿼리 문자열 파라미터가 요청 검증에 사용되는 경우 필수를 선택합니다. 요청 검증에 대한 자세한 내용은 API Gateway의 REST API API 검증 요청를 참조하십시오.

    4. 새로 생성된 쿼리 문자열 파라미터가 캐싱 키의 일부로 사용되는 경우 캐싱을 선택합니다. 캐싱에 대한 자세한 정보는 메서드/통합 파라미터를 캐시 키로 사용하여 캐시된 응답 인덱싱을 참조하십시오.

    쿼리 문자열 파라미터를 제거하려면 제거를 선택합니다.

  8. 메서드에 헤더 파라미터를 추가하려면 다음을 수행합니다.

    1. HTTP 요청 헤더를 선택한 다음, 헤더 추가를 선택합니다.

    2. 이름에 헤더 이름을 입력합니다.

    3. 새로 생성된 헤더가 요청 검증에 사용되는 경우 필수를 선택합니다. 요청 검증에 대한 자세한 내용은 API Gateway의 REST API API 검증 요청를 참조하십시오.

    4. 새로 생성된 헤더가 캐싱 키의 일부로 사용되는 경우 캐싱을 선택합니다. 캐싱에 대한 자세한 정보는 메서드/통합 파라미터를 캐시 키로 사용하여 캐시된 응답 인덱싱을 참조하십시오.

    헤더를 제거하려면 제거를 선택합니다.

  9. POST, PUT 또는 PATCH HTTP 동사로 메서드 요청의 페이로드 형식을 선언하려면 요청 본문을 선택하고 다음과 같이 합니다.

    1. 모델 추가를 선택합니다.

    2. 콘텐츠 유형에 MIME 유형(예: application/json)을 입력합니다.

    3. 모델의 경우 드롭다운 메뉴에서 모델을 선택합니다. API에 대해 현재 사용할 수 있는 모델에는 기본 EmptyError 모델뿐 아니라 이미 생성해 API의 모델 모음에 추가한 모든 모델도 포함됩니다. 모델 생성에 대한 자세한 내용은 REST API에 대한 데이터 모델을 참조하십시오.

      참고

      모델은 클라이언트에게 페이로드의 예상 데이터 형식을 알려주는 데 유용합니다. 스켈레톤 매핑 템플릿을 생성하는 것이 도움이 됩니다. Java, C#, Objective-C, Swift 등의 언어에서 API의 강력한 형식 SDK를 생성하는 것이 중요합니다. 이는 페이로드에 대해 요청 검증이 활성화된 경우에만 필요합니다.

  10. Save(저장)를 선택합니다.

API Gateway 콘솔에서 API Gateway 메서드 응답 설정

API 메서드는 응답이 하나 이상일 수 있습니다. 각 응답은 HTTP 상태 코드로 인덱싱됩니다. 기본적으로 API Gateway 콘솔은 200 응답을 메서드 응답에 추가합니다. 예를 들어 메서드가 201을 대신 반환하도록 응답을 수정할 수 있습니다. 또한 다른 응답을 추가할 수도 있는데, 예를 들면 액세스 거부의 경우 409를, 초기화되지 않은 단계 변수가 사용된 경우 500을 추가할 수 있습니다.

API Gateway 콘솔을 사용하여 API 메서드에 대한 응답을 수정, 삭제 또는 추가하려면 다음 지침을 따르세요.

  1. 리소스 창에서 메서드를 선택한 상태로 메서드 응답 탭을 선택합니다. 탭을 표시하려면 오른쪽 화살표 버튼을 선택해야 할 수도 있습니다.

  2. 메서드 응답 설정 섹션에서 응답 생성을 선택합니다.

  3. HTTP 상태 코드에 HTTP 상태 코드(예: 200, 400, 500)를 입력합니다.

    백엔드 반환 응답에 그에 상응하는 메서드 응답이 정의되어 있지 않으면 API Gateway는 클라이언트에게 응답을 반환하는 데 실패합니다. 그 대신에 500 Internal server error 오류 응답을 반환합니다.

  4. 헤더 추가(Add header)를 선택합니다.

  5. 헤더 이름에 이름을 입력합니다.

    백엔드에서 클라이언트로 헤더를 반환하려면 메서드 응답에 헤더를 추가합니다.

  6. 메서드 응답 본문의 형식을 정의하려면 모델 추가를 선택합니다.

    콘텐츠 유형에 응답 페이로드의 미디어 유형을 입력하고 모델 드롭다운 메뉴에서 모델을 선택합니다.

  7. Save(저장)를 선택합니다.

기존 응답을 수정하려면 메서드 응답으로 이동한 다음 편집을 선택합니다. HTTP 상태 코드를 변경하려면 삭제를 선택하고 새 메서드 응답을 생성합니다.

백엔드에서 반환되는 응답마다 메서드 응답으로 구성된 호환 가능한 응답이 있어야 합니다. 그러나 클라이언트에게 반환되기 전에 백엔드로부터 오는 결과를 메서드 응답에 매핑하지 않으면 메서드 응답 헤더 및 페이로드 모델을 구성하는 것은 선택 사항입니다. 또한 메서드 응답 페이로드 모델은 강력한 형식의 API용 SDK를 생성하는 경우에 중요합니다.