sails.js
रूटिंग
खोज…
टिप्पणियों
रूट नियम हैं जो आने वाले अनुरोध के साथ सामना करने पर पाल को बताते हैं कि क्या करना है।
रूट को config/routes.js
मार्गों में परिभाषित किया गया है। मार्गों का क्रम महत्वपूर्ण है, क्योंकि मार्ग शीर्ष से मेल खाते हैं। इसका मतलब यह है कि यदि आपके पास एक विशिष्ट मार्ग है जिसे वाइल्डकार्ड मार्ग से भी मिलान किया जा सकता है, तो विशिष्ट मार्ग को वाइल्डकार्ड मार्ग के ऊपर परिभाषित किया जाना चाहिए।
एक अनुरोध आपके आवेदन sails.js में प्रवेश करती है सभी मापदंडों है कि यह साथ आया था और उन्हें के रूप में आप के लिए उपलब्ध बनाता पकड़ लेता params
अनुरोध वस्तु पर।
मार्ग लक्ष्य ऑब्जेक्ट में गुण req.options ऑब्जेक्ट में रूट हैंडलर के माध्यम से पारित किया जाएगा। निम्नलिखित आरक्षित गुण हैं जो मार्ग हैंडलर के व्यवहार को प्रभावित कर सकते हैं:
संपत्ति | लागू लक्ष्य प्रकार | डाटा प्रकार | विवरण |
---|---|---|---|
skipAssets | सब | बूलियन | यदि आप URL को उन में डॉट्स (जैसे myImage.jpg) के साथ मिलाने का मार्ग नहीं चाहते हैं तो true सेट करें। यह आपके मार्गों को वाइल्डकार्ड संकेतन के स्थैतिक संपत्तियों के मिलान से रखेगा। URL स्लग बनाते समय उपयोगी। |
skipRegex | सब | regexp | अगर डॉट वाले प्रत्येक URL को skipRegex बहुत अधिक अनुमत है, या आपको पूरी तरह से अलग-अलग मानदंडों के आधार पर मार्ग के हैंडलर को छोड़ने की आवश्यकता है, तो आप skipRegex उपयोग कर सकते हैं। यह विकल्प आपको अनुरोध URL से मेल खाने के लिए एक नियमित अभिव्यक्ति या नियमित अभिव्यक्ति की सरणी निर्दिष्ट करने की अनुमति देता है; यदि कोई भी मैच सफल होता है, तो हैंडलर को छोड़ दिया जाता है। ध्यान दें कि एक रेगुलर एक्सप्रेशन के साथ हैंडलर को बांधने के लिए सिंटैक्स के विपरीत, skipRegex उम्मीद है कि _actual RegExp ऑब्जेक्ट्स, स्ट्रिंग्स नहीं। |
स्थानीय लोगों | नियंत्रक, दृश्य, खाका, प्रतिक्रिया | शब्दकोश | अनुरोध को संभालते हुए किसी भी दृश्य को पारित करने के लिए डिफ़ॉल्ट स्थानीय चर सेट करता है। |
CORS | सब | शब्दकोश या बूलियन या स्ट्रिंग | निर्दिष्ट करता है कि एक अलग मूल से इस मार्ग के लिए अनुरोधों को कैसे संभालना है। |
आबाद करना | खाका | बूलियन | इंगित करता है कि "खोज" या "findOne" ब्लूप्रिंट कार्रवाई के परिणामों से संबंधित मॉडल फ़ील्ड आबादी होनी चाहिए। config/blueprints.js में सेट मान के लिए डिफ़ॉल्ट। |
छोड़ें , सीमित करें , सॉर्ट करें , जहां | खाका | शब्दकोश | "खोज" खाका के लिए मानदंड सेट करें। |
कस्टम रेस्टफुल मार्ग परिभाषाएँ
module.exports.routes = {
'GET /foo': 'FooController.index',
'GET /foo/new': 'FooController.new',
'POST /foo/create': 'FooController.create',
'GET /foo/:id/edit': 'FooController.edit',
'PUT /foo/:id/update': 'FooController.update',
'GET /foo/:id': 'FooController.show',
'DELETE /foo/:id': 'FooController.delete',
};
पुनर्निर्देशन
module.exports.routes = { '/foo': '/bar', 'GET /google': 'http://www.google.com' };
सभी विचारों के लिए कस्टम चर को परिभाषित करें
module.exports.routes = { // This function will be executed for all http verbs on all urls 'all /*', function (req, res, next) { // Expose the function `fooBar` to all views (via the locals object) res.locals.fooBar = function (arg1) { return 'foobar' + arg1; }; }, };
वाइल्डकार्ड रूट से संपत्ति (उन में डॉट्स के साथ url) छोड़ें
module.exports.routes = { 'GET /foo/*': { fn: function(req, res) { res.send("FOO!"); }, skipAssets: true }, };
RegEx के साथ रूट
module.exports.routes = {
// sends matching regex (few patterns) as 'page' param
'r|/foo/([0-9]+)|page': 'FooController.get',
'r|/foo/(.*)|page': 'FooController.get',
'r|/foo/(\\w+)|page': 'FooController.get'
};
यूआरएल स्लग
module.exports.routes = {
'GET /blog/:year/:month/:day/:posttitle/': 'BlogController.showPost',
'GET /blog/:year/:month/:day/': 'BlogController.showDayArchive',
'GET /blog/:year/:month/': 'BlogController.showMonthArchive',
'GET /blog/:year/': 'BlogController.showYearArchive',
};
URL में दिए गए पैरामीटर को req.param('year')
, req.param('month')
आदि का उपयोग करके संबंधित नियंत्रक क्रियाओं में पहुँचा जा सकता है।
उदाहरण के लिए, GET
अनुरोध /blog/2016/08/
BlogController.showMonthArchive
/blog/2016/08/
BlogController.showMonthArchive
नियंत्रक क्रिया को ट्रिगर करता है, जिसमें req.param('year')
का मान 2016
और req.param('month')
का मान 08
।