POST / GET请求都会在Postman中产生404错误。是我的Express路由责备吗?
我打算用MongoDB建立一个Node.js服务器来处理HTTP CRUD请求。在设置我的端点时,我最初能够接收POST / GET请求,但是文档对象的处理成为问题。在尝试修复此问题后,我现在无法发布/获取?这只是一个语法问题还是我的代码注定了?
const MongoClient = require('mongodb').MongoClient;
var QRCode = require('qrcode');
var canvasu = require('canvas');
var express = require('express');
var mongoose = require('mongoose')
var app = express();
var port = process.env.PORT || 3000;
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
var db;
var collection
var Patient = require('./ShiftAssist/models/patientModel');
var router = express.Router();
''连接代码''
router.get('/patients/:Pnum', function(req,res,next){
Patient.findOne({Pnum:req.params.Pnum},function(err,patient){
if (err) return next(err);
res.json(patient);
})
});
app.use('/', router);
app.listen(3000, function () {
console.log('Example app listening on port ' + port + '!');
});
预期:使用文档标识符向http://127.0.0.1:3000/patients/XXXXXX请求,返回整个文档
实际:超时错误
回答如下:尝试通过/patients/:Pnum
改变你的路线,你的要求应该是http://127.0.0.1:3000/patients/XXXXXX
来源:https://expressjs/en/guide/routing.html
编辑:我目前使用的代码
var express = require('express');
var app = express();
var router = express.Router();
router.get('/patients/:Pnum', function (req, res, next) {
setTimeout(() => res.json({ ok: req.params.Pnum }), 1000)
});
app.use('/', router);
app.listen(3000);
POST / GET请求都会在Postman中产生404错误。是我的Express路由责备吗?
我打算用MongoDB建立一个Node.js服务器来处理HTTP CRUD请求。在设置我的端点时,我最初能够接收POST / GET请求,但是文档对象的处理成为问题。在尝试修复此问题后,我现在无法发布/获取?这只是一个语法问题还是我的代码注定了?
const MongoClient = require('mongodb').MongoClient;
var QRCode = require('qrcode');
var canvasu = require('canvas');
var express = require('express');
var mongoose = require('mongoose')
var app = express();
var port = process.env.PORT || 3000;
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
var db;
var collection
var Patient = require('./ShiftAssist/models/patientModel');
var router = express.Router();
''连接代码''
router.get('/patients/:Pnum', function(req,res,next){
Patient.findOne({Pnum:req.params.Pnum},function(err,patient){
if (err) return next(err);
res.json(patient);
})
});
app.use('/', router);
app.listen(3000, function () {
console.log('Example app listening on port ' + port + '!');
});
预期:使用文档标识符向http://127.0.0.1:3000/patients/XXXXXX请求,返回整个文档
实际:超时错误
回答如下:尝试通过/patients/:Pnum
改变你的路线,你的要求应该是http://127.0.0.1:3000/patients/XXXXXX
来源:https://expressjs/en/guide/routing.html
编辑:我目前使用的代码
var express = require('express');
var app = express();
var router = express.Router();
router.get('/patients/:Pnum', function (req, res, next) {
setTimeout(() => res.json({ ok: req.params.Pnum }), 1000)
});
app.use('/', router);
app.listen(3000);