Какую конфигурацию мне нужно изменить, чтобы разрешить POST для функции AWS Lambda? - PullRequest
0 голосов
/ 04 октября 2018

У меня в API-шлюзе две конечные точки, которые настроены одинаково и указывают на одну и ту же лямбда-функцию.Единственное отличие состоит в том, что одна из конечных точек - это GET, а другая - POST.

Вот мой код, который вызывает конечную точку API.

    fetch('api/public/libraries/sign-out', {
        method: 'POST',
        headers: new Headers({
           'Accept': 'application/json',
        })
    })
    .then(response => {
        if (!response.ok) {
            throw new Error('Failed with HTTP code ' + response.status);
        }

        return response.json();
    })
    .catch(error => {
        console.log('Error:', error);
    })
    .then(response => {
         console.log(response);
    });

Когда я устанавливаю метод на GET, запрос возвращает успех.Когда у меня есть метод POST, я получаю index.tsx:59 Error: Error: Failed with HTTP code 403.

Я установил Allowed HTTP Methods в GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE для шаблона пути, под которым этот API лежит.

Что еще может бытьнеправильно?Есть ли какие-то дополнительные настройки, которые мне нужно изменить, чтобы разрешить POST?Или это код функции Lambda, который должен отличаться, когда он отвечает на POST?Или это что-то еще, что может быть проблемой?

Я использую Node 6 в качестве среды выполнения на Lambda.Вот код Lambda:

exports.handler = (event, context, callback) => {
    callback(null, {
        statusCode: 200,
        headers: {},
        body: JSON.stringify({
            message: 'hello world'
        })
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...