Node.js / Intellij: http post 请求 returns 代码 404

Node.js / Intellij: http post request returns code 404

我在测试 http 方法时收到此响应:

http://localhost:3000/rooms
HTTP/1.1 404 Not Found

这是我的路由/端点的代码

router.post('/rooms', bodyparser.json(), (req, res) => {

let rooms;

try {
    rooms = {
        id:req.body.id,
        name: req.body.name
    };
    createRessource(filename)
    res.status(201).send(rooms);
} catch (error) {
    res.sendStatus(500)
}
refresh();

});

我是这样用intellij编辑器测试的:

POST http://localhost:3000/rooms
Content-Type: application/json 
{ "name": "Peter", "id": 4}

http://localhost:3000/rooms 不是正确的端点吗?此端点的获取请求是 o.k

很确定 IntelliJ 在这里没有错,因为我已经在它上面制作了许多 API(主要是 express)。如果我是你,我首先要检查的是我的应用程序正在侦听哪个端口。

我假设您使用的是 express(一些原因,例如使用 body-parser

你在 app.listen(port) 中设置了什么端口?也许你把端口 80?

好吧,考虑到您实际上收到了 404,我会把它划掉。

接下来是您让应用程序使用路由器的方式。

记住,如果你做了类似

的事情
app.use(router, "/api")

在路由器中

router.post("/rooms", function)

那么你的最终 url 到 post 将是 /api/rooms 而不仅仅是 /rooms。所以我建议你在你的应用程序上使用什么。如果您不想放置任何预设路径,那么只需执行

app.use(router)