如何为API设置路由

时间:2018-12-26 15:50:56

标签: node.js routes

我正在构建一个API,以使用nodeJS管理聚会。我已经建立了一个端点,其路由为“ / meetups /:id / ”,以通过其ID获取特定的聚会记录。然后,我想获取所有即将到来的聚会记录,并尝试使用“ / meetups / upcoming / ”,但是当我对其进行查询时,出现未找到的错误(404)。似乎第二条路线无法识别。

Here is the code defining the two routes

the request from postman

有关如何处理该问题的任何帮助? 谢谢。

2 个答案:

答案 0 :(得分:1)

路由为“ / api / v1 / meetups / upcoming / all”。将res.status移动到地图功能之外。

编辑:您必须更改必须与api / v1 / meetups /:id不同的路由。原因是当请求路由'/ api / v1 / meetups / upcoming'时express认为它与以前的路由相同,并以'upcoming'作为参数。

app.get("/api/v1/meetups/upcoming/all", function(req, res) {
    var today = new Date();

    var upcomings = db.meetups.map(function(meetup) {
        if(meetup.happeningOn > today) {
            return meetup;
        }
    });

    res.status(200).send({
        status: 200,
        data: upcomings
    });
});

答案 1 :(得分:0)

您需要将res.status件移到const upcomings定义之外。