이 WebAPI 컨트롤러에는 두 가지 방법이 있습니다. 이 컨트롤러는 유틸리티 유형 콘트롤러에 가깝습니다. 대부분의 예제와 보일러 플레이트 템플릿과 같이 하나의 유형의 엔티티에만 집중하지 않습니다. 어쨌든, 제 2 방법은 다음과 같이이다 :웹 API 2.0 라우팅 - 여러 작업 일치
// api/Custom/SayHello
[HttpGet]
public async Task<string> SayHello()
{
return await Task.FromResult("Hello World Async").ConfigureAwait(false);
}
// api/Custom/SayFloat
[HttpGet]
public async Task<float> SayFloat()
{
return await Task.FromResult(1000.0f).ConfigureAwait(false);
}
그리고 템플릿 조합을 라우팅을 많이 겪었어요, 내 최신 하나가 이것이다 :이 오류를 받고 있어요
config.Routes.MapHttpRoute("DefaultApiWithId",
"Api/{controller}/{id}",
new { id = RouteParameter.Optional });
/* ----- this is trying to match my utility controller and its actions ----- */
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "Api/{controller}/{action}"
);
: 여러 작업이 요청과 일치하는 것으로 확인되었습니다. ...
현재 나의 "해결 방법"은 공개하려는 유틸리티 메서드마다 하나의 컨트롤러를 만드는 것입니다. 내가 라우팅 템플릿으로 시도하지 않은 것이 있어야한다고 생각합니다. 어떤 아이디어?
WebApi2를 사용하는 경우 특성 라우팅이 더 좋은 방법입니다. –