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

带Express的多个GET参数

殷功
2023-03-14

我是Node.js和Express的新手,我一直在做一个RESTful API项目,我试图在URL中发送一个带有多个参数的GET请求:

这是我的路线:

/centers/:longitude/:latitude

我是这样称呼它的:

/centers?logitude=23.08&latitude=12.12

而且我也尝试过

/centers/23.08/12.12

它最终会走这条路线:

/centers/

那么,我写endpoint的方式是否错误?还是我要求的方式?

共有3个答案

阎祖鹤
2023-03-14

在路由器中定义url参数更容易。

示例url:http://www.example.com/api/users/3

在路线上。js

router.get('/api/users/:id&:pending', function (req, res) {
  console.log(req.params.id);
  console.log(req.params.pending);
});
钦德佑
2023-03-14

像这样试试

var express = require('express');
var app = express();
var port = process.env.PORT || 8080;
app.get('/centers/:log/:lat',function(req,res)
       {
res.json({ log: req.params.log,
          lat: req.params.lat });

});
app.listen(port);
console.log('Server started! At http://localhost:' + port);

现在试试这样的urlhttp://localhost:8080/centers/55/55

封鸿雪
2023-03-14

您没有正确理解Express中管线定义的工作方式。

像这样的路由定义:

/centers/:longitude/:latitude

意味着它需要这样一个URL:

/centers/23.08/12.12

当您形成如下URL时:

/centers?longitude=23.08&latitude=12.12

您正在使用查询参数(param=value对,在之后)。要访问这些参数,请参阅以下问题/答案:如何在“?”之后访问GET参数快车?

为此,您可以为“/centers”创建路由,然后访问req。查询经度要求。查询latitude,以访问这些特定的查询参数。

 类似资料:
  • 问题内容: 在swift 3中建议使用带参数的GET的哪种方法? 范例: 提前致谢 ! 问题答案: 示例如何使用请求。

  • 问题内容: 我是新手,所以我的代码可能会出现很多错误,但是我要实现的目标是将GET请求发送到带有 参数的服务器。鉴于我的函数有两个参数,我试图做到更多。我不确定如何将两者结合到实际的URLRequest中?到目前为止,这是我尝试过的 问题答案: 建立请求时,请求的主体没有,但是所有内容都放在URL上。要构建网址(并正确地将其转义), 您还可以使用. 唯一的窍门是,大多数Web服务都需要+转义字符百

  • 看着,我会数到3 语法Get-ChildItem[[-路径]][[-过滤器]][-排除][强制][包括][名称][递归][UseTransation[]][ Get-ChildItem[[-过滤器]][-排除][强制][包括][名称][递归][]LiteralPath[-UseTransation[]][ Get-ChildItem[-属性][目录][文件][强制][隐藏][只读][系统][Use

  • 本文向大家介绍Express之get,pos请求参数的获取,包括了Express之get,pos请求参数的获取的使用技巧和注意事项,需要的朋友参考一下 Express的版本4.X Get query参数的获取 url假设:http://localhost:3000/users/zqzjs?name=zhaoqize&word=cool&job[st]=web 路由的定义: 1.获取?name=zh

  • 我遇到了这样一种情况,我的映射方法有3个参数,所有这三个参数都用于派生目标类型的一个属性。 我在接口中创建了一个默认映射方法,保留了用于派生属性的逻辑,现在为了调用这个方法,我可以在注释中使用。 有没有什么方法可以在mapstruct注释中做到这一点,比如,我试着用expression属性和qualifiedByName来注释注释,但它不起作用:

  • 问题内容: 我将Express与Node一起使用,并且我有一个要求用户可以将URL请求为:。 这样的请求将返回JSON响应。 上述调用之前的JSON数据如下: 通过上述请求,响应JSON数据应为: 我已经配置了Express路由,如下所示: 但这是行不通的。我不确定如何传递多个参数,也就是说,我不确定是否正确的方法。是吗? 问题答案: 如果那不起作用,请尝试使用console.log(req.pa