डिफ़ॉल्ट वेब एपीआई मार्गवेबएपीआई मार्ग 404 के है जब वहाँ URL में पीछे अंतरिक्ष
config.Routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new
{
id = RouteParameter.Optional
}
);
और एक नियंत्रक के साथ
public class TestController : ApiController
{
[HttpGet]
public HttpResponseMessage Get(string id)
{
return Request.CreateResponse(HttpStatusCode.OK, id);
}
}
एक अनुरोध करने के लिए 'api/test/1'
रिटर्न 1
अगर किसी कारण से आपपर अनुरोध भेजते हैं
मार्ग 404 के।
अब इस उदाहरण मूर्खतापूर्ण लग सकता है के बाद से ब्राउज़रों पीछे वाले स्पेस ट्रिम, लेकिन
तरह'api/{controller}/{id}/{extrastuff}'
'1 '
में अंतरिक्ष '1%20'
बदल जाएगा एक मार्ग और अनुरोध 404 होगा मार्ग पर नहीं पाए जाने के लिए
।
मूर्खतापूर्ण लगता है कि एक मार्ग MVC इंजन होगा यह सेट डिफ़ॉल्ट रूप से गलत पर है जब एमवीसी का एक बड़ा लाभ यूआरएल फाइल सिस्टम से संबंधित नहीं है। – Steve
यह रूटिंग इंजन का निर्णय नहीं है, यह बहुत ही मूल पर एएसपी.NET है जो इसके ऊपर बनाए गए सब कुछ की रक्षा करता है। तो सावधान रहें यदि आप इसे बदलते हैं कि आप उस बिंदु पर अपने आवेदन के तहत सब कुछ के लिए नियमों को आराम दे रहे हैं। –
यह ऐप को क्रैश करता है जैसे ही मैं इसे – Dan