Javascript TypeError:无法分解req.params的属性id,因为它未定义

Javascript TypeError:无法分解req.params的属性id,因为它未定义,javascript,node.js,json,express,body-parser,Javascript,Node.js,Json,Express,Body Parser,我试图从数据库中获取用户配置文件,并在运行配置文件url(localhost:3000/profile/1)时将其作为json对象返回。但是我得到了这个错误:TypeError:无法对req.params的属性id进行分解,因为它是未定义的。 这是express服务器中的代码 const express = require('express'); const bodyParser = require('body-parser'); const bcrypt = require('bcryptjs

我试图从数据库中获取用户配置文件,并在运行配置文件url(localhost:3000/profile/1)时将其作为json对象返回。但是我得到了这个错误:TypeError:无法对req.params的属性id进行分解,因为它是未定义的。

这是express服务器中的代码

const express = require('express');
const bodyParser = require('body-parser');
const bcrypt = require('bcryptjs');
const cors = require('cors');
const knex = require('knex');

const app = express();
app.use(cors());
app.use(bodyParser.json());


app.get('/Profile/:id', (res,req) =>{
    const {id} = req.params;
    db.select('*').from('user').where({id})
    .then(user => {
    res.json(user[0])})
})


我使用postman发送get请求。

参数的顺序是request,Response,因此您必须执行以下操作:

app.get('/profile/:id', (request, response) => {
    const { id } = request.params;
    db.select('*').from('user').where({id}).then(
       user => {
           res.json(user[0])
       });
});

我看到了您的错误提示,您输入了函数(res,res),应该是(req,res)。

只需在第一行将“req”切换为“res”:
-->app.get('/Profile/:id',(res,req)=>{

req.params.id
它将在
console.log(req.params)
内返回
app.get
?res和req在函数中是错误的,应该是
(req,res)=>{…
结果证明@George是对的,顺便说一句,我犯了一个愚蠢的错误。我立即更改了req和res,它成功了。谢谢大家。特别感谢George。