gateway - [리소스에서 통합 요청] 클릭


매핑 템플릿 선택 후 패스 스루에서 Content-Type을 application/json으로 선택

이어서 나오는 템플릿에서 이전 lambda에서 작성해준 테스트 이벤트를 약간 변형하여 작성한다.
변경한 부분은 파라미터로 넘겨줄 ExpressionAttributeValues 이다.
( 프로젝트에 따라 다르지만 나는 이부분만 파라미터로 이용한다.)
{
"operation": "operation",
"type": "GET",
"body": {
"TableName": "Confusion",
"FilterExpression": "contains (#names, :atValue)",
"ExpressionAttributeNames": {
"#names": "confusion_name"
},
"ExpressionAttributeValues": {
":atValue": {
"S": "$input.params('atValue')"
}
}
}
}
원래는 "S": "s" 였지만 s의 값을 바꿔서 전달하기 위해 이 부분을 정규식에 해당하는 input.params('atValue')로 변경해주었다.
작성 완료 후 저장을 누르고 작업 - API 배포를 눌러 gateway 설정을 스테이지로 배포한다.
설정을 완료했다면 cmd를 실행하고 해당 메소드의 url에 파라미터를 포함하여 실행하도록 한다.
curl -X GET "[메소드명 포함 url]?atValue:s

현재 DB에는 snack이라는 데이터가 저장되어있고, 이를 결과로 보기위해 s와 z를 파라미터로 넘겨 테스트를 한 결과이다.
s를 파라미터로 넘겨주었을때는 snack이 결과로 반환되었다.
z를 파라미터로 넘겨주었을때는 snack이 결과로 반환되지 않았다.