API, созданный через AWS Mobile Hub, не работает
Я пытаюсь создать конечную точку API для выполнения моей функции AWS Lambda в моем мобильном приложении. Когда я создаю собственный API и тестирую метод POST, я получаю правильный код ответа 200 и возвращает правильную строковую фразу: "The name is {input}"
,
Однако, когда я пытаюсь импортировать этот API в свой проект, он не отображается в SDK. Когда я пытаюсь создать API через Mobile Hub, я выполняю те же самые точные шаги, но когда я вхожу в метод POST, я получаю следующее сообщение об ошибке:
Endpoint response body before transformations: "The name is InputName"
Fri Mar 10 17:39:33 UTC 2017 : Endpoint response headers: {x-amzn-Remapped-Content-Length=0, x-amzn-RequestId=8599f413-05b8-11e7-92d2-75672f730ae7, Connection=keep-alive, Content-Length=23, Date=Fri, 10 Mar 2017 17:39:32 GMT, Content-Type=application/json}
Fri Mar 10 17:39:33 UTC 2017 : Execution failed due to configuration error: Output mapping refers to an invalid method response: 200
Fri Mar 10 17:39:33 UTC 2017 : Method completed with status: 500
1 ответ
Обычно это указывает на проблему с настройкой ответов метода внутри вашего API.
Чтобы просмотреть ответы своего метода, щелкните метод, который вы использовали для запроса в консоли API Gateway, затем щелкните поле "Ответ метода". Вы должны увидеть таблицу с одним или несколькими кодами HTTP Status.
API-шлюз использует это для сопоставления ответа от вашей функции Lambda с кодом состояния по вашему выбору. Я подозреваю, что отображение, которое у вас есть в данный момент, не соответствует тому, что возвращается вашей лямбда-функцией, вызывая ошибку.
В этом учебном пособии более подробно рассматривается сопоставление ответов http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-models.html