Node Express app.js 为 GET 请求提供 404 错误

问题描述

我看过类似的问题,但他们似乎没有回答我的问题。发送 GET 请求时出现 404 错误。我将我的路由器放在一个单独的文件中,然后在我的 app.js 中调用我的请求。

为此,我已尝试使我的问题尽可能简单。这是我所拥有的:

电影-server.js:

const express = require('express')
const movieRouter = express.Router();

movieRouter
    .route('/movies')
    .get((req,res) => {
        res.send('hello from movies')
    })
module.exports = movieRouter;

app.js:

const express = require('express')
const app = express()
const movieRouter = require('./Movies/movie-server')

app.get('/',(req,res) => {
    res.send('Hello,world!') // this GET request works when I call it in Postman
})

app.use('/movies',movieRouter) // this returns a 404 Not Found error

module.exports = app

这是我的文件结构:

file structure

我不确定我错过了什么?

解决方法

您提供了两次 /movies 路由,因此您的服务器将响应 http://host:port/movies/movies

movie-server.js 应包含:

const express = require('express')
const movieRouter = express.Router();

movieRouter
    .route('/') // Do not repeat /movies here
    .get((req,res) => {
        res.send('hello from movies')
    })
module.exports = movieRouter;