Когда я использую aws для усиления при реакции на вызов к шлюзу API, как мне получить код состояния? - PullRequest
1 голос
/ 23 сентября 2019

Мой API-шлюз (без сервера) настроен для правильного ответа:

function buildResponse(statusCode, body) {
  // console.log(body);
  return {
    statusCode: statusCode,
    headers: {
      "Access-Control-Allow-Origin": "*",
      "Access-Control-Allow-Credentials": true
    },
    body: JSON.stringify(body)
  };
}

После развертывания серверной части в aws у меня есть клиентская сторона, использующая React.js с aws-усилением, где я делаю вызов:

return API.post("api", "/api");

Проблема Я правильно получаю токен из вызова API, но не получаю код состояния.Как я могу построить API, чтобы я мог также получить код состояния от шлюза API?

1 Ответ

2 голосов
/ 23 сентября 2019

Взгляните на это, например, в документах по расширению aws в разделе "get".Если вы включите «ответ» в myInit, вы сможете получить весь объект axios, включая код статуса.

let apiName = 'MyApiName';
let path = '/path'; 
let myInit = { // OPTIONAL
    headers: {}, // OPTIONAL
    response: true, // OPTIONAL (return the entire Axios response object instead of only response.data)
    queryStringParameters: {  // OPTIONAL
        name: 'param'
    }
}
API.get(apiName, path, myInit).then(response => {
    // Add your code here
}).catch(error => {
    console.log(error.response)
});
...