0

API 라우팅에 상당히 익숙하며이 문제를 해결하려고합니다.웹 API 2 라우팅

캔디 바 목록이 있다고 가정합니다.

ListAllCandyBars  --- api/Candy 
ListCandyBar via ID --- api/Candy/10 
ListAllChocBars  --- api/Candy/Choc 

따라서 우리는 액션을 사용하면 경로와 클래스를 설정하는 기대 방법

받기 3 ID 와

기본 가져 오기 가져 오기를 얻을 수 있습니다

나는 다음 할 일 원하는 . ListAllCandyBars 및 ListCandyBar를 ID 또는 ListAllCandyBars 및 ListAllChocBars를 통해 가져올 수있는 것처럼 보입니다.

이 내 현재의 경로입니다 :

config.Routes.MapHttpRoute(
      name: "WithActionApi", 
      routeTemplate: "api/{controller}/{action}/{id}", 
      defaults: new { id = RouteParameter.Optional, action = RouteParameter.Optional } 
     ); 

이 같은 것을 사용 :

public class DefaultController : ApiController 
    { 
     // GET: api/Default 
     public IEnumerable<string> Get() 
     { 
      return new string[] { "value1", "value2" }; 
     } 

     // GET: api/Default/5 
     public string Get(int id) 
     { 
      return "value"; 
     } 

     // GET: api/Default/ListSub 
     public string ListSub(int id) 
     { 
      return "value"; 
     } 

     // POST: api/Default 
     public void Post([FromBody]string value) 
     { 
     } 

     // PUT: api/Default/5 
     public void Put(int id, [FromBody]string value) 
     { 
     } 

     // DELETE: api/Default/5 
     public void Delete(int id) 
     { 
     } 
    } 

당신의 의견이 약간의 문제가 점점 과거를 기대합니다. 추신 : 그것은 내 컨트롤러 이해할 수 있습니다. ListAllChocBars에 대해 다른 컨트롤러를 사용해야합니까?

감사

제임스

+4

경로 속성을 구성에 매핑하는 대신 사용하십시오. –

+0

그건 고마워요. – WJProctor

답변

0

나는 복잡하게 정말 잘 작동에만 속성 경로에 대한 것 이상이었다.