我是Node.js和Express的新手,
我一直在进行RESTful API项目,并且正在尝试通过URL发送带有多个参数的GET请求:

这是我的路线:

/centers/:longitude/:latitude

这是我尝试称呼它的方式:
/centers?logitude=23.08&latitude=12.12

而且我也尝试过
/centers/23.08/12.12

最终转到以下路线:
/centers/

那么我编写端点的方式错误吗?还是我要求的方式?

最佳答案

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

路由定义如下:

/centers/:longitude/:latitude

表示它期望这样的URL:
/centers/23.08/12.12

当您形成这样的URL时:
/centers?longitude=23.08&latitude=12.12

您正在使用查询参数(param=value之后的?对)。要访问这些内容,请参阅以下问题/答案:How to access the GET parameters after "?" in Express?

为此,您可以为"/centers"创建一条路由,然后访问req.query.longitudereq.query.latitude来访问那些特定的查询参数。

10-06 04:24