asp.net mvc 4 - MVC 4 Web Api Routing - Use relative path for routing URL -


समस्या: मैं स्थानीय होस्ट से अपीकंट्रोलर को कॉल करने का प्रयास कर रहा हूं: xxxx / होम / टेस्ट पृष्ठ और प्राप्त करें एक 404 अनुरोधित यूआरएल: / होम / एपीआई / टेस्ट नहीं पाया जा सकता है।

अगर मैं यह कॉल करना चाहता हूं तो इंडेक्स.cshtml पेज यह ठीक काम करता है और मैं स्थानीय होस्ट पर नेविगेट कर सकता हूं: xxxx / api / test और इच्छित JSON को देखें मैंने अपने MapHttpRoute रूटटाइम को जोड़ने / जोड़ने की कोशिश की है लेकिन यह एक अपवाद फेंकता है।

प्रश्न: मैं यूआरएल अनुरोध से कैसे हटाऊं?

एक और उदाहरण होगा यदि मैं पृष्ठ स्थानीय होस्ट पर हूं: xxxx / लोग / टेस्ट पृष्ठ और मैं कई यूआरआई जैसे लोकलहोस्ट मारा चाहता हूं: xxxx / api / शौक, लोकलहोस्ट: xxx / api / पालतू जानवर और लोकहोस्ट: xxx / api / वाहन । मैं यह कैसे संभाल करने के लिए कस्टम रूटिंग सेट कर सकता हूं? डिफ़ॉल्ट मार्गों के साथ अभी के रूप में, मुझे यह त्रुटि मिलती है कि उसे / लोग / एपीआई / शौक और इसके आगे नहीं मिल सकता है

समाधान (संभवतया) : मैंने एक कस्टम नक्शा HttpRoute को रूट के साथ बनाया टेम्पलेट: "{page} / api / {controller} / {id}" और यह काम करता है, लेकिन मैं ' टी पूरी तरह से समझें और क्यों यह अच्छा अभ्यास है या नहीं।

होम आपका डिफ़ॉल्ट HTTP नियंत्रक होम / एपीआई / टेस्ट वैध वेब एपीआई नियंत्रक मार्ग नहीं है, जब तक आपने कस्टम मार्ग नहीं बनाया है। बॉक्स डिफ़ॉल्ट वेब एपीआई मार्ग से बाहर है api / {controller} / {id} इसलिए, यदि आपके पास एपीआई कंट्रोलर होते हैं, तो यह यूआरएल स्थानीयहोस्ट / एपीआई / होम / आईडी होगा

Comments