39
사용자 지정 API를 설정하기 위해 웹 API 2 특성 라우팅을 사용하려고합니다. 내 경로가 내 함수가 호출되면, 작동하지만 모든 이유로 올바르게 작동하려면 첫 번째 매개 변수를 전달해야하는 이유가 있습니다. 다음은 내가 지원하고자하는 URL이 있습니다 : 마지막 3 개 URL이 작동ASP.NET 웹 API에서 선택적 매개 변수를 사용하여 특성 라우팅
http://mysite/api/servicename/parameter1
http://mysite/api/servicename/parameter1?parameter2=value2
http://mysite/api/servicename/parameter1?parameter2=value2¶meter3=value3
http://mysite/api/servicename/parameter1?parameter2=value2¶meter3=value3&p4=v4
을하지만, 첫 번째는 말한다 "조치가 요청과 일치하는 컨트롤러의 컨트롤러 이름 '에서 찾을 수 없습니다."
내 컨트롤러는 다음과 같습니다
public class MyServiceController : ApiController
{
[Route("api/servicename/{parameter1}")]
[HttpGet]
public async Task<ReturnType> Get(string parameter1, DateTime? parameter2, string parameter3 = "", string p4 = "")
{
// process
}
}
아, 물론 그것은 분명했습니다. 감사! – sohum
RouteAttribute가 선택적 매개 변수를 지원하는 것으로 끝났습니다 (또는 경로가 단순히 원래 게시물과 유사 할 경우 요청 URL은 어떤 모양입니까?). – Colin