1. Create a Lambda function: called `get-groups`
const data = [
{name: 'angular', id: 1},
{name: 'react', id: 2},
{name: 'vue', id: 3}
];
exports.handler = async (event) => {
const response = {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin': '*'
},
body: JSON.stringify({items: data}),
};
return response;
};
To prevent CORS problems, we enables CORS headers as well.
2. Create an API Gateway
- For REST API
- Build a New Rest API
- Actions -> Create Resource, this is used as endpoint, let's named `groups`
- Action -> Create Method, `GET`
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CMyYjYlRzYjNGN2QGOwIDN1gjY5EWO4YmYyMGMwQzYm9CXxMzLcdDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.png)
- Action -> Deploy
3. After deployed, it generate a URL you can used for testing in POSTMAN
GET: https://<id>.execute-api.us-east-1.amazonaws.com/dev/groups
- Actions -> Enable CORS
-
[AWS] Lab: Create a REST API with API Gateway and Lambda with CORS - Deploy API
- You should see OPTIONS has been enabled
-
[AWS] Lab: Create a REST API with API Gateway and Lambda with CORS