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" }
);
}
POST를 사용하여 Fiddler에서 요청을하고 MyRequestTemplate의 RequestBody에서 json을 전달합니다.