我是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.longitude
和req.query.latitude
来访问那些特定的查询参数。