আপনার রুটের মানচিত্র সম্ভবত এরকম কিছু:
routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
তবে একই HTTP পদ্ধতিতে একাধিক ক্রিয়াকলাপ করার জন্য আপনাকে ওয়েবপাপিকে এই জাতীয় রুটের মাধ্যমে আরও তথ্য সরবরাহ করতে হবে:
routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
লক্ষ্য করুন যে রুটটিম্পলেটটিতে এখন একটি ক্রিয়া রয়েছে। এখানে আরও প্রচুর তথ্য: http://www.asp.net/web-api/overview/web-api-routing-and-tives/routing-in-aspnet-web-api
হালনাগাদ:
ঠিক আছে, এখন যেহেতু আমি মনে করি আপনি বুঝতে পেরেছেন যে আপনি এখানে আছেন তার পরে আর একটি বিষয় হ'ল:
সম্ভবত আপনার অ্যাকশন ইউআরএল প্যারামিটারের প্রয়োজন নেই এবং যে বিষয়বস্তুগুলি আপনি পরে রেখেছেন তা বর্ণনা করা উচিত। যেহেতু আপনি বলছেন যে পদ্ধতিগুলি একই সত্তা থেকে ডেটা ফিরছে তবে কেবলমাত্র পরামিতিগুলি আপনাকে বিবরণী করতে দিন।
উদাহরণস্বরূপ আপনার দুটি পদ্ধতি রূপান্তরিত হতে পারে:
public HttpResponseMessage Get()
{
return null;
}
public HttpResponseMessage Get(MyVm vm)
{
return null;
}
আপনি কী ধরণের ডেটা মাইভিএম অবজেক্টে পাস করছেন? আপনি যদি কেবল ইউআরআই এর মাধ্যমে ভেরিয়েবলগুলি পাস করতে সক্ষম হন তবে আমি সেই পথে যাওয়ার পরামর্শ দিই। অন্যথায়, আপনাকে অনুরোধের শুরুর দিকে অবজেক্টটি প্রেরণ করতে হবে এবং একটি জিইটি করার সময় এটি আপনার খুব HTTP নয় (এটি যদিও কাজ করে, কেবল [মাইভিএম] ইনফ্রন্টবিডি] ব্যবহার করুন)।
আশা করি এটি চিত্রিত করে যে আপনার অ্যাকশন নাম বা এমনকি [এইচটিপিপিট] বৈশিষ্ট্যটি ব্যবহার না করেই একক নিয়ামককে একাধিক জিইটি পদ্ধতি থাকতে পারে।