আমি যে ইউআরএলটিকে কাজ করতে দেওয়ার চেষ্টা করছি সেগুলির একটিতে হ'ল : http://somedomain.com/api/people/staff.33311 (ঠিক যেমন শেষ সাইটগুলি এফএমএম তাদের আরএসটিএফএল এবং ওয়েবপেজ ইউআরএলগুলিতে সমস্ত ধরণের চিহ্নকে মঞ্জুরি দেয় , উদাহরণস্বরূপ " http://www.last.fm/artist/psy'aviah " হল LAST.FM এর জন্য একটি বৈধ url)।
কোন কাজগুলি দৃশ্যের অনুসরণ করে: - http://somedomain.com/api/people/ - যা সমস্ত লোককে ফিরিয়ে দেয় - http://somedomain.com/api/people/staff33311 - পাশাপাশি কাজ করবে, তবে আমি তা করি না ' মিটার পরে আমি ইউআরএলটি একটি "ডট" স্বীকার করতে চাইছি, নীচের উদাহরণের মতো - http://somedomain.com/api/people/staff.33311 - তবে এটি আমাকে একটি
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
আমি নিম্নলিখিত জিনিসগুলি সেট আপ করেছি:
নিয়ন্ত্রক "পিপলস কন্ট্রোলার"
public IEnumerable<Person> GetAllPeople() { return _people; } public IHttpActionResult GetPerson(string id) { var person = _people.FirstOrDefault(p => p.Id.ToLower().Equals(id.ToLower())); if (person == null) return NotFound(); return Ok(person); }
WebApiConfig.cs
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
আমি ইতিমধ্যে এই ব্লগপোস্টের সমস্ত টিপস অনুসরণ করার চেষ্টা করেছি http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPenderntsAnglebracketAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx তবে এটি কার্যকর হবে না .. আমিও মনে করি এটি বেশ ক্লান্তিকর এবং আমি ভাবছি অন্য কোনওটি না থাকলে, ভাল এবং আরও সুরক্ষিত উপায়।
আমাদের আইডির অভ্যন্তরীণভাবে এটি রয়েছে, সুতরাং আমাদের বিন্দুতে কোনওভাবে বা অন্যভাবে ফিট করতে একটি সমাধান খুঁজে বের করতে হবে, সম্ভবত "স্টাইল" in তবে আমি ইউআরএলগুলির জন্য বিকল্প পরামর্শের জন্য উন্মুক্ত যদি প্রয়োজন হয় ...