AWS Gateway是构建API的强大工具,可扩展满足现代网络和移动应用程序的需求。借助AWS网关,您可以创建RESTFULE API,以将您的数据和业务逻辑公开,然后向开发人员构建可消耗API的丰富,交互式应用程序。
REST API是构建可扩展的,分布式Web应用程序的行业标准。使用AWS网关,您可以轻松地构建支持GET和POST方法的REST API以及复杂的查询参数。您还可以添加对其他HTTP方法的支持,例如put,delete和head。
使用AWS网关,您可以快速创建安全且坚固的API。您也可以使用它以最少的精力将代码部署到生产环境中。此外,AWS网关允许与其他AWS服务(例如S3和DynamoDB)无缝集成,使您可以轻松地在API中添加复杂的功能。
先决条件
使用AWS Gateway构建静止的API之前,您应该拥有以下内容:
- Create an AWS account如果您还没有一个。
- 登录到AWS管理控制台并导航到Amazon API网关服务。
- 单击创建API,然后选择“ REST API”。
- 单击“操作”并定义资源,然后单击“创建资源”。
- 选择新创建的资源,然后单击创建方法。
- 选择http动词(例如获取,发布,put等),然后单击检查标记以创建方法。
- 在“集成类型”部分中,选择“ lambda函数”,然后输入要处理API请求的lambda函数的名称。单击“保存”以创建API。
- 从运行时下拉列表中选择节点。
代码示例
let user = {
firstName: "John",
lastName: "Smith",
location: "Bay Area"
}
export const handler = async(event) => {
// TODO implement
console.log(">>>> Inside Lambda Function....");
if(event.httpMethod === "GET")
{
getUserRecord(event);
}
if(event.httpMethod === "POST")
{
createUserRecord(event)
}
const response = {
statusCode: 200,
body: JSON.stringify({
user_details: user
})
};
return response;
};
function getUserRecord (event) {
const response = {
statuscode: 200,
body: JSON.stringify({
user_details: user
})
};
return response;
}
function createUserRecord(event) {
const body = JSON.parse(event.body);
const response = {
statusCode: 200,
body:JSON.stringify({
message: "successfully created",
details: body
})
};
return response;
}
代码首先创建一个称为用户的对象,该对象包含一些属性,例如firstName,lastname和location。
然后,处理程序函数会检查事件对象的HTTPMethod属性,如果它获取了getuserrecord函数,并且如果它帖子称为createUserRecord函数。
getUserrecord和createUserrecord函数将事件对象作为输入,并返回响应对象。
在getuserrecord函数中,它创建一个响应对象,其状态代码为200,并且包含一个带有user_details属性的json对象,该属性是在开始时创建的用户对象。
在createUseRrecord函数中,它首先解析事件。字符串,将其放入JSON对象中,然后创建一个带有200个状态的响应对象,并包含带有消息和详细属性的JSON对象的正文。 /p>
通过单击操作并选择部署API。
部署API。选择一个部署阶段(例如,测试或测试),然后单击部署。使用生成的API端点向您的API提出请求。
在Postman中运行和测试代码
现在,我们的API正在运行。您可以通过Postman发送测试HTTP请求。通过向您的调用URL发送请求,您应该看到200个状态代码。对于此测试,即将到来的请求不需要主体。
包起来
这样,我们使用AWS lambda创建了一个简单的RESTFUL API。然后,可以根据需要扩展此代码,以构建应用程序的API。向前迈进,您可能需要使用API键保护API,将API与API网关集成,查看API is being consumed并如何使用或通过API monetization建立收入?有关API分析和货币化需求的解决方案,check out Moesif今天探索所有这些!