Saya mulai menggunakan proyek API Web MVC4, saya punya controller dengan banyak HttpPost
metode. Controller terlihat seperti berikut:
Pengendali
public class VTRoutingController : ApiController
{
[HttpPost]
public MyResult Route(MyRequestTemplate routingRequestTemplate)
{
return null;
}
[HttpPost]
public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate)
{
return null;
}
}
Di sini MyRequestTemplate
mewakili kelas templat yang bertanggung jawab untuk menangani Json yang datang melalui permintaan.
Kesalahan:
Ketika saya membuat permintaan menggunakan Fiddler untuk http://localhost:52370/api/VTRouting/TSPRoute
atau http://localhost:52370/api/VTRouting/Route
saya mendapatkan kesalahan:
Beberapa tindakan ditemukan yang sesuai dengan permintaan
Jika saya menghapus salah satu metode di atas berfungsi dengan baik.
Global.asax
Saya telah mencoba memodifikasi tabel routing default global.asax
, tetapi saya masih mendapatkan kesalahan, saya pikir saya memiliki masalah dalam mendefinisikan rute di global.asax. Inilah yang saya lakukan di 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" }
);
}
Saya membuat permintaan di Fiddler menggunakan POST, melewati json di RequestBody for MyRequestTemplate.