arrays - 将数组作为查询字符串参数传递 node.js
问题描述
如何将数组作为查询字符串参数传递?
我尝试了多种方法,包括将其添加到路径中,但我无法在后端拉出数组。
如果我对数组进行硬编码,它可以正常工作,但是当我尝试将数组从前端传递到后端时,它不能正常工作。
谁能指出我正确的方向?
前端
function loadJob() {
return API.get("realtorPilot", "/myTable/ListJobs", {
'queryStringParameters': {
radius,
availableServices,
}
});
后端
import * as dynamoDbLib from "./libs/dynamodb-lib";
import { success, failure } from "./libs/response-lib";
export async function main(event, context) {
const data = {
radius: event.queryStringParameters.radius,
availableServices: event.queryStringParameters.availableServices,
};
// These hold ExpressionAttributeValues
const zipcodes = {};
const services = {};
data.radius.forEach((zipcode, i) => {
zipcodes[`:zipcode${i}`] = zipcode;
});
data.availableServices.forEach((service, i) => {
services[`:services${i}`] = service;
});
// These hold FilterExpression attribute aliases
const zipcodex = Object.keys(zipcodes).toString();
const servicex = Object.keys(services).toString();
const params = {
TableName: "myTable",
IndexName: "zipCode-packageSelected-index",
FilterExpression: `zipCode IN (${zipcodex}) AND packageSelected IN (${servicex})`,
ExpressionAttributeValues : {...zipcodes, ...services},
};
try {
const result = await dynamoDbLib.call("scan", params);
// Return the matching list of items in response body
return success(result.Items);
} catch (e) {
return failure(e.message);
}
}
解决方案
传递一个逗号分隔的字符串并将其拆分到后端。
例子:https://example.com/apis/sample?radius=a,b,c,d&availableServices=x,y,z
并在 api defenition 中以逗号分隔字段。
const data = {
radius: event.queryStringParameters.radius.split(','),
availableServices: event.queryStringParameters.availableServices.split(',')
};
推荐阅读
- cryptography - EC P 256 x,y 坐标成公钥?
- excel - 使用 VBA 创建使用 End(xlUp) 的动态公式
- mysql - 将注释添加到用作另一个表(MySQL)中的外键的表列
- python - 成对遍历列表,第一个元素除外,Python
- java - 如何在应用程序中拥有像“GPS Connected”这样的内置 GPS 储物柜?
- python-3.x - 从帧中删除图像(tkinter,PIL)
- perl - 如何将 xlsx 文件从 utf-8 转换为 windows-1252
- javascript - 我怎么知道 Firefox 开发者工具是用 Javascript 打开的?
- tcp - HostSNI 是 traefik 中唯一可用的 tcp 路由规则吗?
- python - Python3:如何将纯html转换为基于`h`标签级别的嵌套字典?