2012-12-23 4 views
0

.NET 웹 API를 사용하여 REST 서비스를 만들려고합니다.웹 API에서 URL 매개 변수에 어떻게 액세스합니까?

[HttpGet] 
[ActionName("Chapters")] 
public string GetChapters() { 
    return "get chapters"; 
} 

모든 : 컨트롤러에서 다음과 같은 기능을 매핑

RouteTable.Routes.MapHttpRoute(name: "Route1", 
    routeTemplate: "api/video/{id}/{action}", 
    defaults: new { controller = "Video", action = "Chapters"}); 

: 나는지도를하려고 URL은

/api/<controller>/<videoId>/chapters 

나는 다음과 같은 경로 설정을 가지고있다 는 올바르게 매핑되지만 GetChapters 함수 내에서 URL의 <video_id> 매개 변수에 액세스하려면 어떻게해야합니까? 구체적인 예를 들어

는 URL은 다음과 같습니다

http://localhost/api/video/1/chapters 

어떻게이 1, 컨트롤러 후 매개 변수에 대한 액세스를 얻을 수 있습니까?

답변

1

그냥 웹 서비스 방법에 id 매개 변수를 추가 -가 자동으로 경로에 정의 된 쿼리 문자열 매개 변수 또는 {id} 매개 변수 ASP.NET 웹 API의 눈을 멀게한다 :

또한
public string GetChapters(int id) { 
    return "get chapters by video id"; 
} 

당신이 [HttpGet]를 생략 할 수 있습니다 및 [ActionName] 속성을 사용합니다. 웹 API에서 'Get'으로 시작하는 작업 메서드는 GET 요청 (POST에 대한 'POST'등)에 매핑되고 메서드 이름의 다른 부분 ('Chapters')은 액션 이름.

+0

감사합니다. – majid

관련 문제