这个错误提示表明在使用Route.get()
方法时,期望传入一个回调函数,但实际上却传入了一个字符串。这通常是因为在定义路由处理程序时出现了错误。
Route.get()
是Express框架中用于定义GET请求路由的方法。它的语法如下:
app.get(path, callback);
其中,path
是请求的路径,callback
是处理该路径请求的回调函数。
/users
。/users/:id
。错误Route.get()需要回调函数,但获得了[object String]
通常是因为在定义路由处理程序时,传入了一个字符串而不是回调函数。例如:
app.get('/users', 'userController.getUser');
在这个例子中,'userController.getUser'
是一个字符串,而不是一个函数。
确保传入的是一个回调函数。可以通过以下几种方式来解决:
假设userController.js
文件内容如下:
exports.getUser = (req, res) => {
res.send('User details');
};
那么在主文件中可以这样定义路由:
const express = require('express');
const app = express();
const userController = require('./controllers/userController');
app.get('/users', userController.getUser);
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
通过以上方法,可以确保Route.get()
方法正确地接收到回调函数,从而避免出现[object String]
的错误。
领取专属 10元无门槛券
手把手带您无忧上云