Fail to enable CORS for API Gateway functions

后端 未结 4 872
误落风尘
误落风尘 2021-02-05 04:09

I get

While attempting to enable CORS on API Gateway, why is that and how do I resolve this? These functions are deployed using AWS SAM. But I notice if I crea

相关标签:
4条回答
  • 2021-02-05 04:12

    2020 answer: Nowadays, there's an option called HTTP API when creating an API in the dashboard. For this type, I've found the CORS configuration to be much easier. If you have a working API of this type, you just have to click "CORS" under "Develop" in the sidebar, and then add '*' under Access-Control-Allow-Origin.

    0 讨论(0)
  • 2021-02-05 04:15

    I had a CORS problem with API Gateway + Lambda and the above answers did not help me but I figured out I needed to add some headers information to my response code in my API.

    I needed to add the res.statusCodeand the two headers.

    // GET
    // get all myModel
    app.get('/models/', (req, res) => {
      const query = 'SELECT * FROM MyTable'
      pool.query(query, (err, results, fields) => {
        //...
    
        const models = [...results]
        const response = {
          data: models,
          message: 'All models successfully retrieved.',
        }
        //****** needed to add the next 3 lines
        res.statusCode = 200;
        res.setHeader('content-type', 'application/json');
        res.setHeader('Access-Control-Allow-Origin', '*');
        res.send(response)
      })
    })
    
    0 讨论(0)
  • 2021-02-05 04:35

    Create a new model from the left menu that you will call Empty and it works

    0 讨论(0)
  • 2021-02-05 04:36

    Firstly please select your root resource and select "Enable CORS". It will enable CORS to all methods. Ideally it should work. If in case it doesn't work Please add an empty json in the response as I have marked in the screenshot attached. I believe you don't have any default response header added in your OPTIONS method response (in Method Response ). Please refer screenshot

    0 讨论(0)
提交回复
热议问题