gpt4 book ai didi

node.js - req.params.userId 未找到(路径设置为/:userId) Node. js

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:27 26 4
gpt4 key购买 nike

我想通过用户的 userId 参数获取用户,但它不起作用。该应用程序连接到数据库(Atlas),我可以创建用户,批量检索它们,但我无法使用特定参数(在本例中为 UserId)检索它们,从而产生未找到错误消息。

UserRoutes.js

const express = require('express');
const UserModel = require('../models/UserModel');
const app = express();

app.get('/getusersById/:userId', async (req, res) => {

const user = await UserModel.find(req.params.userId);

try {
res.send(user);
} catch (err) {
res.status(500).send(err);
}
});

UserModel.js

const mongoose = require('mongoose');

// Define Schema
const UserSchema = new mongoose.Schema({
name: {
type: String,
required: true,
trim: true,
},

age: {
type:Number,
required:true
},

userId: {
type:String,
required:true
},
});


//
const User = mongoose.model('user', UserSchema);
module.exports = User;

Server.js

// Open connection to test database

const express = require('express');
const mongoose = require('mongoose');
const UserRouter = require('./routes/UserRoutes.js');

const app = express();
app.use(express.json());
app.use(express.urlencoded({ extended: true }));

const uri = "mongodb+srv://XXXXXXXXXXX@XXXXXXXeXXXX.gcp.mongodb.net/dbusers?retryWrites=true&w=majority";

mongoose.connect(uri,{
userNewUrlParser: true,
useUnifiedTopology: true
});

// Notify if connection was succesful

var db = mongoose.connection;
db.on ('error', console.error.bind(console, 'connection error'));
db.once('open', function() {

console.log("Connection Succesful");

});
db.on('close', () => {
db.removeAllListeners();
});

// Router & Port

app.use(UserRouter);
app.listen(3000,
() => {console.log('Server is running...')});

这是 postman 请求:

Postman get userId

最佳答案

您的请求是错误的。您将路径定义为:

app.get('/getusersById/:userId', /* callback */)

所以请求 URL 应该是:

/getusersById/3

而不是

/getusersById/?userId=3

关于node.js - req.params.userId 未找到(路径设置为/:userId) Node. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59729906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com