AWS CloudFormation 템플릿(또는 OpenAPI API 정의)을 사용하여 프록시 리소스가 있는 Amazon API Gateway API를 생성하고 있습니다. API를 만들 때 다음과 같은 오류가 발생합니다. "Execution failed due to configuration error: Illegal character in path."
간략한 설명
프록시 경로 파라미터({proxy+})에 대한 URL 경로 파라미터 매핑이 정의되지 않은 경우 API Gateway는 다음 오류를 반환합니다. "Execution failed due to configuration error: 경로에 잘못된 문자가 있습니다.
통합 요청에서 이 파라미터에 대해 URL 경로 파라미터 매핑이 정의되어 있지 않으면 API Gateway는 파라미터를 리터럴 문자열 "{proxy+}"로 평가합니다. "{"는 유효한 문자가 아니기 때문에 이 경우 API Gateway는 오류를 반환합니다.
오류를 해결하려면 다음을 수행하여 통합 요청에서 프록시 경로 파라미터에 대한 URL 경로 파라미터 매핑을 정의하십시오.
해결 방법
- API Gateway 콘솔에서 API 이름을 선택합니다.
- 리소스 창에서 메서드를 선택한 후 메서드 실행 창에서 통합 요청을 선택합니다.
- 통합 요청 창에서 엔드포인트 URL이 올바른 프록시 경로 매개 변수({proxy})를 사용하는지 확인합니다. ("+"가 없는 그리디 경로 변수.) 예: http://example.com/{proxy}
- URL 경로 파라미터를 확장합니다. 그런 다음 경로 추가를 선택하고 다음을 수행합니다.
이름에 proxy를 입력합니다. 이는 엔드포인트 URL의 매개 변수에 해당합니다.
**Mapped from(다음에서 매핑됨)**에 method.request.path.proxy를 입력합니다.
참고: 여기서 proxy는 메서드 요청 창에 정의된 요청 경로의 이름에 해당합니다. 이 요청 경로는 **{proxy}**라는 프록시 리소스를 만들거나 그리디 경로 변수의 경우 **{proxy+}**를 만들어 추가됩니다.
- 체크 표시 아이콘(생성)을 선택합니다.
참고: Invalid mapping expression specified 오류가 발생하면 AWS CloudFormation 템플릿 또는 OpenAPI 정의를 업데이트하세요. 그런 다음 이전 단계를 반복합니다.
- API를 배포하세요.
관련 정보
프록시 리소스와의 프록시 통합 설정
API 게이트웨이 콘솔을 통해 요청 및 응답 데이터 매핑 설정
API Gateway 콘솔을 사용하여 API 통합 요청 설정