Nodejs应用程序抛出不能POST /用户身体分析器中间件

这是我的app.js文件。

var express = require('express'), bodyParser = require('body-parser'), oauthServer = require('oauth2-server'), oauth_model = require('./app_modules/oauth_model') const app = express() app.use(bodyParser.urlencoded({ extended: true })); var jsonParser = bodyParser.json(); app.oauth = oauthServer({ model: oauth_model, // See below for specification grants: ['password', 'refresh_token'], debug: process.env.OAUTH_DEBUG, accessTokenLifetime: 172800, refreshTokenLifetime: 172800, authCodeLifetime: 120, }); // Oauth endpoint. app.all('/oauth/token', app.oauth.grant()); // User registration endpoint. app.post('/users', jsonParser, require('./routes/register.js')); // Get user details. app.get('/users', app.oauth.authorise(), require('./routes/users.js')); app.post('/', app.oauth.authorise(), require('./routes/test.js')); app.use(app.oauth.errorHandler()); app.listen(3000, function () { console.log('Mixtra app listening on port 3000!') }) 

当我发送POST请求到一个无效的json主体localhost:3000/users请求去register.js和validation代码在那里工作。

但奇怪的是,当我发送有效的JSON正文,它说:“不能POST /用户”与404未findHTTP状态码和terminal日志中没有。

注意:我使用邮递员发送api请求。

如果有人能帮助我,这将是非常好的。

谢谢,

喜悦

我没有看到你使用jsonParser

你应该在发送任何json之前使用它

 app.use(jsonParser);