2015-02-23 5 views
8

में वैश्विक स्तर पर सामग्री प्रकार कैसे सेट करें I गलत हो सकता है लेकिन मैं इसे किसी दस्तावेज़ में नहीं ढूंढ पाया। मेरी मार्गों को परिभाषित करने के पहलेnode.js (express)

// 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); 

किसी कारण से यह काम नहीं करता है। क्या आप जानते हैं कि मैं क्या गलत कर रहा हूं? प्रत्येक विधि में यह निर्धारित करना, काम करता है लेकिन मैं इसे विश्व स्तर पर चाहते हैं ...

उत्तर

13

एक्सप्रेस 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(); 
}); 
3

मिले मुद्दा: इस सेटिंग से पहले रखा जाना चाहिए:

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) 
+0

त्रुटि: 'app.router' हटाई गई है, कृपया 3.x migratio 4.x देखना अपने ऐप को अपडेट करने के तरीके के विवरण के लिए एन गाइड। – rob

संबंधित मुद्दे