के साथ किए गए एक आरईएसटी एपीआई में प्रतिक्रिया स्थिति और जेएसओएन सामग्री सेट करने का उचित तरीका मैं नोडज के साथ खेल रहा हूं और एक छोटा सा एपीआई बनाकर व्यक्त कर रहा हूं। मेरा सवाल है, कोड स्थिति सेट करने के साथ-साथ प्रतिक्रिया डेटा सेट करने का अच्छा अभ्यास/सर्वोत्तम तरीका क्या है?नोडजेस और एक्सप्रेस
(मैं नोड और एक्सप्रेस कोड आवश्यक नहीं रखेंगे सर्वर, बस रूटर तरीकों कि चिंतित हैं शुरू करने के लिए) मेरे कोड का एक छोटा सा के साथ समझाता हूँ:
router.get('/users/:id', function(req, res, next) {
var user = users.getUserById(req.params.id);
res.json(user);
});
exports.getUserById = function(id) {
for (var i = 0; i < users.length; i++) {
if (users[i].id == id) return users[i];
}
};
नीचे कोड पूरी तरह से काम करता है , और पोस्टमैन के साथ अनुरोध भेजते समय, मुझे निम्नलिखित परिणाम मिलते हैं:
जैसा कि आप देख सकते हैं, स्थिति 200 दिखाती है, जो ठीक है। लेकिन क्या यह करने का यह सबसे अच्छा तरीका है? क्या कोई ऐसा मामला है जहां मुझे खुद को स्थिति, साथ ही लौटा JSON सेट करना होगा? या वह हमेशा एक्सप्रेस द्वारा संभाला जाता है?
उदाहरण के लिए, मैं सिर्फ एक त्वरित परीक्षण किए गए और थोड़ा संशोधित उपरोक्त विधि प्राप्त करें:
router.get('/users/:id', function(req, res, next) {
var user = users.getUserById(req.params.id);
if (user == null || user == 'undefined') {
res.status(404);
}
res.json(user);
});
आप देख सकते हैं, यदि उपयोगकर्ता सरणी में नहीं पाया जाता है, मैं बस की स्थिति सेट हो जाएगा 404.
इस विषय के बारे में अधिक जानने के लिए संसाधन/सलाह स्वागत से अधिक हैं।
यह मेरा उच्चतम रेट जवाब और यह स्वीकार नहीं किया गया है :(@ ड्यूकेबल, मुझे पता है कि यह थोड़ी देर हो गया है, लेकिन क्या यह आपके मुद्दे को हल करता है? –
@ MichałDudak: हाँ, आपका उत्तर स्वीकार्य होना चाहिए। लेकिन यह ड्यूकेबल उपयोगकर्ता 15 अक्टूबर 2015 से सक्रिय नहीं है (31 जुलाई 2017 को)। अपने उत्तर के लिए +1 वैसे भी;) –