gpt4 book ai didi

javascript - 如何使用导入的 JS 对象数组部署 REST API?

转载 作者:行者123 更新时间:2023-12-02 22:19:45 25 4
gpt4 key购买 nike

我一直在关注this article要将 Node REST API 部署到 AWS,我遇到了困难。我已设置 serverless.yml 来配置 AWS REST API。正如您所看到的,它解释了这个表和 DynamoDB 表。

plugins:
- serverless-dynamodb-local

service: pair-api

provider:
name: aws
runtime: nodejs10.x
stage: dev
region: us-east-1
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
Resource:
- { "Fn::GetAtt": ["wineTable", "Arn"] }
environment:
WINE_TABLE: wineTable

resources: # CloudFormation template syntax
Resources:
wineTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: wineTable
AttributeDefinitions:
- AttributeName: name
AttributeType: S
KeySchema:
- AttributeName: name
KeyType: HASH
ProvisionedThroughput:
ReadCapacityUnits: 1
WriteCapacityUnits: 1
functions:
app:
handler: index.handler
events:
- http: ANY /pair/wine
- http: "ANY {proxy+}"

我的 index.js 文件(如下)应该用 JS 对象数组填充此端点。由于某种原因,当我将 message 设置为 test(见下文)时,我收到错误消息“Internal Service Error”。

const serverless = require("serverless-http");
const bodyParser = require("body-parser");
const express = require("express");
const app = express();

import * as test from "./db/test";

app.use(bodyParser.json({ strict: false }));

app.get("/pair/wine", function(req, res) {
res.send({
success: "true",
message: test
});
});

module.exports.handler = serverless(app);

当我将消息设置为 JavaScript 对象时(见下文),我的 AWS API 端点返回正确的消息。

const serverless = require("serverless-http");
const bodyParser = require("body-parser");
const express = require("express");
const app = express();

import * as test from "./db/test";

app.use(bodyParser.json({ strict: false }));

app.get("/pair/wine", function(req, res) {
res.send({
success: "true",
message: [{
"test": true,
"testing": "Test"
}]
});
});

module.exports.handler = serverless(app);

为 AWS API 设置 GET 请求以使其返回 JS 对象数组的正确方法是什么?我尝试了几种不同的方式导入 JS 文件(见下文),但似乎没有任何效果;

import * as test from "./db/test";
import test from "./db/test";
const test = require("./db/test");

最佳答案

事实证明,我需要阅读有关在 Node 中导入模块的内容,它利用 ES5 require 语句而不是 import。

关于javascript - 如何使用导入的 JS 对象数组部署 REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59271256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com