私は間違っているかもしれませんが、どのドキュメントでもこれを見つけることができませんでした。応答に対してコンテンツタイプをグローバルに設定しようとしていますが、次のようになりました。
// Set content type GLOBALLY for any response.
app.use(function (req, res, next) {
res.contentType('application/json');
next();
});
ルートを定義する前に。
// Users REST methods.
app.post('/api/v1/login', auth.willAuthenticateLocal, users.login);
app.get('/api/v1/logout', auth.isAuthenticated, users.logout);
app.get('/api/v1/users/:username', auth.isAuthenticated, users.get);
何らかの理由でこれは機能しません。私が間違っていることを知っていますか?各メソッドで個別に設定すると機能しますが、グローバルに設定したい...
Express 4.0の場合は this を試してください:
// this middleware will be executed for every request to the app
app.use(function (req, res, next) {
res.header("Content-Type",'application/json');
next();
});
問題が見つかりました:この設定は次の前に行う必要があります:
app.use(app.router)
したがって、最終的なコードは次のとおりです。
// Set content type GLOBALLY for any response.
app.use(function (req, res, next) {
res.contentType('application/json');
next();
});
// routes should be at the last
app.use(app.router)