2017-05-18 1 views
0

API 컨트롤러가 있다고 가정 해 보겠습니다. 이 컨트롤러의 일부 방법은 같은 경로를 사용속성 라우팅 - 모든 메소드, 클래스 또는 필요에 따라?

[HttpPost] // /api/entities 
public IHttpActionResult Add(Entity entity) 
{ 
    ... 
} 

[HttpGet] // /api/entities 
public IHttpActionResult FindAll() 
{ 
    ... 
} 

[HttpGet] // /api/entities 
public IHttpActionResult Find(String name) 
{ 
    ... 
} 

[HttpGet] // /api/entities/id 
public IHttpActionResult Find(Int32 id) 
{ 
    ... 
} 

[HttpDelete] /api/entities/id 
public IHttpActionResult Remove(Int32 id) 
{ 
    ... 
} 

나는 모든 방법 또는 전용 "API/기관"및 "API/기관/ID"를 커버하는 두 가지 방법에 RouteAttribute을 적용합니까? 또는 두 개의 RouteAttribute를 클래스 자체에 적용하는 것이 더 낫습니까? 당신은 구성에 지정된 기본 경로가있는 경우

답변

0

, 즉 :

routes.MapHttpRoute(
name: "API Default", 
routeTemplate: "api/{controller}/{id}", 
defaults: new { id = RouteParameter.Optional } 
); 

당신은 요청이 HTTP에 의해뿐만 아니라 행동에 매핑 될 것이라는 점을 잊지 마세요 특성을 라우팅 적용 할 필요가 없습니다 메서드가 있지만 매개 변수 유형도 있으므로 아무 문제가 없어야합니다.

documentation.

의 "조치"섹션을 확인하십시오.
관련 문제