asp.net 웹 API를 사용하여 Http 서비스를 작성 중이며 두 매개 변수가 동일한 매개 변수를 사용하는 컨트롤러에서 가져 오는 방법을 알고 경로를 정의하는 방법을 알 수 없습니다. 두 메서드를 모두 일치 시키면 하나만 호출 할 수 있고 다른 하나는 컨트롤러에서 아무런 작업 메서드도 찾을 수 없다는 오류가 발생합니다.두 매개 변수가있는 웹 API 컨트롤러 예 :
public IQueryable<RecipeDTO> Get(string lang)
{
}
[HttpGet]
public RecipeDTO Details(string lang, int id)
{
}
[HttpGet]
public IQueryable<RecipeDTO> Random(string lang, int count)
{
}
당신은 나는 다음과 통화를 할 수 있습니다, 방법 세부 사항 및 랜덤 동일한 매개 변수를 참조하십시오 :
여기
RouteTable.Routes.MapHttpRoute(
name: "default",
routeTemplate: "{controller}/{lang}",
defaults: new { lang = System.Web.Http.RouteParameter.Optional });
RouteTable.Routes.MapHttpRoute(
name: "details",
routeTemplate: "{controller}/{lang}/{action}/{id}");
정의 된 경로와 컨트롤러의 방법입니다 controller-name/en (첫 번째 get 메소드와 일치)
컨트롤러 이름/ko/details/1 (세부 방법과 일치)
하지만 난하려고하면
컨트롤러 이름/EN/랜덤/5
나는 아무 조치 방법은 컨트롤러에서 발견 된 오류, 내가 그 문제를 해결하는 방법에 대해 설명합니다.
미리 감사드립니다.