使用AWS Gateway和Nodejs构建REST API
#aws #node #api #休息

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网关服务。

Gateway-API

  • 单击创建API,然后选择“ REST API”。

Build-REST-API

Create-API

  • 单击“操作”并定义资源,然后单击“创建资源”。

Create-Resource

  • 选择新创建的资源,然后单击创建方法。

API Methods

Lambda Function

  • 选择http动词(例如获取,发布,put等),然后单击检查标记以创建方法。
  • 在“集成类型”部分中,选择“ lambda函数”,然后输入要处理API请求的lambda函数的名称。单击“保存”以创建API。

AWS-Lambda

  • 从运行时下拉列表中选择节点。

Create-Function

代码示例

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。

Deploy-API

选择一个部署阶段(例如,测试或测试),然后单击部署。使用生成的API端点向您的API提出请求。

在Postman中运行和测试代码

现在,我们的API正在运行。您可以通过Postman发送测试HTTP请求。通过向您的调用URL发送请求,您应该看到200个状态代码。对于此测试,即将到来的请求不需要主体。

Postman Test

包起来

这样,我们使用AWS lambda创建了一个简单的RESTFUL API。然后,可以根据需要扩展此代码,以构建应用程序的API。向前迈进,您可能需要使用API​​键保护API,将API与API网关集成,查看API is being consumed并如何使用或通过API monetization建立收入?有关API分析和货币化需求的解决方案,check out Moesif今天探索所有这些!