当前位置: 首页 > 知识库问答 >
问题:

如何使用Javascript SDK向AWS API网关客户端传递查询字符串参数?

孙宏壮
2023-03-14

我可以在浏览器中访问这个endpoint,也可以在postman中请求它,并得到预期的响应,因此我知道API网关配置正确。然而,当我使用Javascript SDK时,我似乎不能传递查询字符串参数。

根据文档中这一页的最后一部分,我应该能够传递一个JSON对象,该对象将被解释为查询字符串参数,如下所示:

var apiClient = apigClientFactory.newClient();
var requestParams = {"foo": "test"};
apiClient.myResourceGet(requestParams).then(function(result) {
    // Do something with the response
});

但是,在我的例子中,requestparams似乎被忽略了。在Lambda函数中,event有一个空的QueryStringParameters字段。如何将requestparams对象中定义的键/值作为查询字符串参数传递给此endpoint?

共有1个答案

阎卓
2023-03-14

由于下面的endpoint传递查询参数,因此实际上不需要json对象

example.execute-api.us-east-1.amazonaws.com/dev/my-resource?foo=test

创建变量

var test = <assign value>

现在

var params = {
                        host: "execute-api.us-east-1.amazonaws.com",
                        path: "/dev/my-resource?foo="+test

                        };
var https = require('https');
       exports.handler = (event, context, callback) => {
       var params = {
                    host: "bittrex.com",
                    path: "/api/v1.1/public/getmarketsummaries"

                    };

  var req = https.request(params, function(res) {
    let data = '';
    console.log('STATUS: ' + res.statusCode);
    res.setEncoding('utf8');
    res.on('data', function(chunk) {
        data += chunk;
    });
    res.on('end', function() {
        console.log("DONE");
        console.log(JSON.parse(data));
    });
  });
   req.end();
 };
 类似资料:
  • 问题内容: 我不认为IN子句可以接受具有多个值的绑定参数。甲骨文不能和几分钟 和查询是 并且存储过程是 结果为空 并直接在关键字中传递字符串 那结果还可以 问题答案: 在SQL Server 2016+中:使用内置函数。请注意,不再需要多余的单引号: 如果您运行的SQL Server早于SQL 2016,则@GuidoG的答案是一种更好的方法

  • 有没有办法不在方法请求和集成请求中定义URL查询字符串参数,并将查询字符串传递给HTTP代理? 例如,在https://{api id}-api.us-east-1.amazonaws.com/test/user?start=1 查询字符串1. start 2. end 若我把URL查询字符串参数放在方法请求和集成请求中,那个么我就能够得到这两个查询字符串。然而,如果我不添加它们并在postman

  • 问题内容: 是否存在通过查询字符串传递数组的标准方法? 需要明确的是,我有一个带有多个值的查询字符串,其中一个是数组值。我希望将该查询字符串值视为一个数组-我不希望该数组爆炸,以使其与其他查询字符串变量没有区别。 编辑: 根据@Alex的答案,没有标准的方法可以执行此操作,因此我的后续工作是什么才是 识别 我正在读取的参数同时是 PHP 和 Javascript 数组的简单方法? 用相同的名称命名

  • 我需要传递一个字符串参数作为querystring参数,这应该是可选的。 在这里,我希望将位置作为可选参数。我试着用作为。但它对我不起作用。让我知道解决方案。

  • 我有一个C#方法,我已经成功地发布为AWS Lambda函数。它看起来像这样: 我已通过web界面执行以下操作来配置API网关: 创建了新的API 创建了一个名为“myclass”且路径为“/myclass”的新资源 为资源创建了一个新的GET方法,使用“Lambda函数”作为集成类型,并指向我的Lambda函数 我希望能够像这样调用Lambda函数(无需在请求中传递任何指定的头):https:/