2013-08-12 5 views

उत्तर

4

आप यूआरएल की तुलना में शरीर में अधिक (विविध) डेटा फिट कर सकते हैं। आप शरीर में किसी भी स्ट्रिंग (विशेष वर्ण) को पारित कर सकते हैं, जबकि यूआरएल में उन्हें एन्कोडिंग करने से आप स्थिति 414 (अनुरोध-यूआरआई बहुत लंबा) के लिए कमजोर हो जाएंगे। और सरणी और जटिल वस्तुओं को पार करते समय शरीर का उपयोग करना बहुत आसान है :)

5

मैं कहूंगा कि एक सर्वोत्तम अभ्यास यह होगा कि आपको प्राप्त करने के दौरान पैरा का उपयोग करना चाहिए, लेकिन पोस्ट, डालने और हटाने के लिए शरीर का उपयोग करना चाहिए।

एक नमूना

app.get "/api/items/:id", (req, res) -> 
    itemController.getItem req.params.id, (item, error) =>  
    if !error 
     res.send 'item': item 
    else 
     res.send 'error: error 

एक नमूना पोस्ट

app.post "/api/items", (req, res) -> 
    itemController.saveItem req.body, (item, error) =>  
    if !error 
     res.send 'item': item 
    else 
     res.send 'error: error 

साथ ही आप पर मान्यता जोड़ना होगा मिलता है, लेकिन यह किया गया है कि कैसे मैं अपने अंतिम बिंदुओं के सभी लेखन की है।

+0

मुझे लगता है कि नष्ट अनुरोध सामान्यतः शव शामिल नहीं है। Google ऐप इंजन कम से कम इसे लागू करता है। – bgenchel

2

इस प्रश्न के बाद से 4 साल से अधिक हो गया है, हालांकि, मैं यह सुनिश्चित करने के लिए अभी भी चिंतित हूं कि इस पोस्ट पर किसी और को ठोकरने से इस अवधारणा को बेहतर ढंग से समझने के लिए और जानकारी मिलती है।

req.body और req.params सर्वर दो अलग-अलग उद्देश्यों।

जब आप किसी सर्वर पर "POST" अनुरोध की तरह किसी सर्वर को डेटा भेजने (उसे स्टोर करने या कुछ) भेजने के लिए req.body का उपयोग करेंगे, तो आप req.body का उपयोग करेंगे। उदाहरण के लिए, निम्नलिखित देखें:

आप ब्लॉग पोस्ट को सहेजने के लिए "POST" अनुरोध कर रहे हैं। इस परिदृश्य में, आप अनुरोध के शरीर में डेटा प्राप्त करना चाहते हैं और इसे डीबी को भेजना चाहते हैं। यहाँ आप req.body

app.post("/blog", function(req, res){ 
    var data = req.body.blog; 
    .... // code to send data to the db 
    .... 
}); 

req.params प्रयोग किया जाता है का उपयोग करें जब आप यूआरएल से एक "param" निकालने के लिए चाहते हैं। मान लें कि आप एक "आईडी" निकालना चाहते हैं जो यूआरएल का हिस्सा है। उदाहरण "आईडी" के लिए सवालों के बाद इस यूआरएल में नंबर stackoverflow.com/questions/18187424/

app.get("/xyz/questions/:id", function(req, res){ 
    var useId = req.params.id; 
    ... 
    ... 
}); 

आशा है, यह मदद करता है।

धन्यवाद, कार्तिक

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