এটি অবশ্যই বিটা থেকে আরসিতে পরিবর্তন। প্রশ্নে প্রদত্ত উদাহরণে, আপনাকে এখন [ক্রিয়াকলাপ] [HttpGet] বা [AcceptVerbs ("GET")] দিয়ে আপনার ক্রিয়াটি সাজাতে হবে।
যদি আপনি ক্রিয়াভিত্তিক অ্যাকশনগুলির সাথে ক্রিয়াভিত্তিক ক্রিয়াগুলি (যেমন "গেটসোমিংথিং", "পোস্টসামিং") মিশ্রণ করতে চান তবে এটি একটি সমস্যার সৃষ্টি করে। আপনি যদি উপরে বর্ণিত বৈশিষ্ট্যগুলি ব্যবহার করার চেষ্টা করেন তবে এটি আপনার নিয়ামকের কোনও ক্রিয়া ভিত্তিক ক্রিয়াকলাপের সাথে বিরোধের সৃষ্টি করবে। উত্সাহিত হওয়ার একটি উপায় যা প্রতিটি ক্রিয়াটির জন্য পৃথক রুট সংজ্ঞা দেওয়া এবং ক্রিয়াটির নামে ডিফল্ট ক্রিয়া সেট করা। আপনার এপিআইতে শিশু সংস্থান সংজ্ঞা দেওয়ার জন্য এই পদ্ধতির ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, নিম্নলিখিত কোডটি সমর্থন করে: "/ রিসোর্স / আইডি / শিশু" যেখানে আইডি এবং শিশুরা optionচ্ছিক।
context.Routes.MapHttpRoute(
name: "Api_Get",
routeTemplate: "{controller}/{id}/{action}",
defaults: new { id = RouteParameter.Optional, action = "Get" },
constraints: new { httpMethod = new HttpMethodConstraint("GET") }
);
context.Routes.MapHttpRoute(
name: "Api_Post",
routeTemplate: "{controller}/{id}/{action}",
defaults: new { id = RouteParameter.Optional, action = "Post" },
constraints: new { httpMethod = new HttpMethodConstraint("POST") }
);
আশা করি ভবিষ্যতের ওয়েব API- র সংস্করণগুলিতে এই দৃশ্যের জন্য আরও ভাল সমর্থন থাকবে। এস্পনেটব্লস্ট্যাক কোডপ্লেক্স প্রকল্পে বর্তমানে একটি সমস্যা রয়েছে, http://aspnetwebstack.codeplex.com/workitem/184 । যদি আপনি এমন কিছু দেখতে চান তবে দয়া করে ইস্যুটিতে ভোট দিন।