После включенной CORS на шлюзе API, вот запрос, который я послал к конечной HTTP точке:как я могу получить необработанную строку тела в Lambda (API шлюз Lambda прокси)
$.ajax({
type: 'put',
url: 'https://xxxxx.execute-api.us-east-1.amazonaws.com/dev/artist/application/julian_test',
data: {params: {param1: "543543", param2: "fdasghdfghdf", test: "yes"}},
success: function(msg){
console.log(msg);
},
error: function(msg){
console.log(msg);
}
});
Здесь функция лямбды (Я использую пакет бессерверную узла, и никакие ошибки на код):
module.exports.julian_test = (event, context, callback) => {
console.log(event);
console.log(event.body);
var response_success = {
statusCode: 200,
headers: {
"Access-Control-Allow-Origin": "*"
},
body: JSON.stringify({
firstUser: {
username: "Julian",
email: "awesome"
},
secondUser: {
username: "Victor",
email: "hello world"
},
thirdUser: {
username: "Peter",
email: "nice"
}
})
};
callback(null, response_success);
};
console.log (event.body) не выходит из: PARAMS% 5Bparam1% 5D = 543543 & PARAMS% 5Bparam2% 5D = fdasghdfghdf & params% 5Btest% 5D = yes
, который не соответствует формату. Я проверил шаблон преобразования запроса/тела OPTIONS, вот моментальный снимок.
Я пытался удалить "приложения/JSON", но после этого я получаю следующий ответ:
XMLHttpRequest не может загрузить https://xxxxxx.execute-api.us-east-1.amazonaws.com/dev/artist/application/julian_test. Ответ на запрос перед полетом не проходит проверку контроля доступа. Нет заголовка «Access-Control-Allow-Origin» на запрошенном ресурсе. Поэтому исходный 'null' не допускается. В ответе был код состояния HTTP 500.
Кто-нибудь знает, как получить тело запроса строки в фоновом лямбда? Пожалуйста помоги!
Это на самом деле не позволяет вам перейти к исходной строке запроса, он разбирает его и возвращает его как json. Есть ли способ получить исходную строку, так как мне нужно сделать какой-либо запрос подписи. – CosmicChild