问题描述
我看过类似的问题,但他们似乎没有回答我的问题。发送 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
这是我的文件结构:
我不确定我错过了什么?
解决方法
您提供了两次 /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;