Skip to Content

API Gateway

내 컴퓨터(디바이스)와 친구의 컴퓨터(디바이스)는 IP 주소가 다르고 물리적으로 분리되어 있습니다. 이러한 상황에서 동일한 매치메이킹 구성으로 친구와 오목 대결을 진행하고 싶다면, 게임 클라이언트 설정 파일(config.ini)을 수정해야 합니다. 각자의 게임 클라이언트 설정 파일(config.ini)에서 API 게이트웨이 엔드포인트를 동일하게 맞추어야 합니다. 동일한 API 게이트웨이를 사용해야 동일한 Lambda 함수를 호출하고, 동일한 FlexMatch 매치메이킹 구성을 사용할 수 있습니다.

Note

API Gateway의 REST API는 특정 경로(“/matchrequest”, “/matchstatus”, “/making”)로 들어온 요청을 적절한 Lambda 함수(“GameMatchRequest”, “GameMatchStatus”, “GameRankReader”)에 전달하여 처리하게 합니다.

  • POST /matchrequest 경로 -> GameMatchRequest Lambda 함수
  • POST /matchstatus 경로 -> GameMatchStatus Lambda 함수
  • GET /making 경로 -> GameRankReader Lambda 함수
Note

REST API의 POST /matchrequest 경로 요청 테스트

REST_API="입력"; curl -X POST https://$REST_API/prod/matchrequest -H "Content-Type: application/json" -d {}

{ "errorMessage": "'PlayerName'", "errorType": "KeyError", "requestId": "********-****-****-****-************", "stackTrace": ["  File \"/var/task/MatchRequest.py\", line 24, in lambda_handler\n    playerId = event['PlayerName']\n"] }
Note

REST API의 POST /matchstatus 경로 요청 테스트

REST_API="입력"; curl -X POST https://$REST_API/prod/matchstatus -H "Content-Type: application/json" -d {}

{ "errorMessage": "'TicketId'", "errorType": "KeyError", "requestId": "********-****-****-****-************", "stackTrace": ["  File \"/var/task/MatchStatus.py\", line 13, in lambda_handler\n    ticket_id = event['TicketId']\n"] }
Note

REST API의 GET /making 경로 요청 테스트

REST_API="입력"; curl -X GET https://$REST_API/prod/ranking

[]
Last updated on