ฉันกำลังเริ่มใช้โครงการ MVC4 Web API ฉันมีคอนโทรลเลอร์ที่มีหลายHttpPost
วิธี คอนโทรลเลอร์มีลักษณะดังต่อไปนี้:
ตัวควบคุม
public class VTRoutingController : ApiController
{
[HttpPost]
public MyResult Route(MyRequestTemplate routingRequestTemplate)
{
return null;
}
[HttpPost]
public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate)
{
return null;
}
}
ในที่นี้MyRequestTemplate
แสดงถึงคลาสเทมเพลตที่รับผิดชอบในการจัดการ Json ที่มาจากการร้องขอ
ข้อผิดพลาด:
เมื่อฉันขอโดยใช้ Fiddler http://localhost:52370/api/VTRouting/TSPRoute
หรือhttp://localhost:52370/api/VTRouting/Route
ฉันได้รับข้อผิดพลาด:
พบการดำเนินการหลายรายการที่ตรงกับคำขอ
หากฉันลบวิธีใดวิธีหนึ่งข้างต้นก็ใช้ได้ดี
Global.asax
ฉันได้ลองแก้ไขตารางเส้นทางเริ่มต้นglobal.asax
แล้ว แต่ฉันยังคงได้รับข้อผิดพลาดฉันคิดว่าฉันมีปัญหาในการกำหนดเส้นทางใน global.asax นี่คือสิ่งที่ฉันทำใน global.asax
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapHttpRoute(
name: "MyTSPRoute",
routeTemplate: "api/VTRouting/TSPRoute",
defaults: new { }
);
routes.MapHttpRoute(
name: "MyRoute",
routeTemplate: "api/VTRouting/Route",
defaults: new { action="Route" }
);
}
ฉันกำลังส่งคำขอใน Fiddler โดยใช้ POST ผ่าน json ใน RequestBody สำหรับ MyRequestTemplate