ここに私のapp.jsファイルがあります。私はlocalhost:3000/users
にPOSTリクエストで無効なJSON本体を送信するとNodejsアプリはPOST /ボディーパーサーミドルウェアのユーザーにはできません
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!')
})
は、要求がregister.js
に行くと検証コードが動作します。
奇妙なことに、私は有効なJSON本体を送信すると、404 Not FoundのHTTPステータスコードで "POST/usersできません"と表示され、端末ログには何も表示されません。
注:私はpostmanを使用してapiリクエストを送信しています。
誰かが私にこれを手伝ってもらえるのは本当に素晴らしいことです。このapp.useよう
おかげで、
喜び
使用var jsonParser = bodyParser.json();の代わりに(bodyParser.json())を使用します。 –
私の登録ミドルウェアで無効なjsonをチェックし、カスタム応答を返すといいです。これは 'app.use(bodyParser.json())'を実行しても機能しません。 – Joy