ASP.NET MVC 3을 사용하여 REST API를 만드는 것이 가장 좋은 방법인지 궁금합니다. 지금은 REST API의 각 버전에 대한 컨트롤러를 만드는 것을 생각하고 있습니다.ASP.NET MVC 3으로 구축 된 REST API의 버전 관리 - 모범 사례
가public class V1Controller : Controller
{
public V1Controller()
{
}
public ActionResult GetUser(string userId, IUserRepository userRepostory)
{
//code to pull data and convert to JSON string
return View("Results");
}
public ActionResult GetUsersByGroup(string groupId, IUserRepository userRepostory)
{
//code to pull data and convert to JSON string
return View("Results");
}
}
그럼보기에 I가 _ViewStart.cshtml 레이아웃을 제거 덮어 다음 I 바로 바로 컨트롤러 액션으로 포맷 된 데이터를 출력 Results.cshtml있다 : 예를 들어, 지금까지 I은 할 지금 JSON. 하나의 컨트롤러에서 모든 REST 호출을 너무 많이하는 것 같지만 API의 버전 2를 만들 때 깨끗한 별도 버전의 API를 유지할 수 있도록 내가 생각할 수있는 최선의 방법입니다. V2Controller를 만들고 기존 API를 중단하지 말고 사람들에게 새로운 API로 전환 할 시간을줍니다.
ASP.NET MVC 3에서 REST API를 만드는 더 좋은 방법이 있습니까?
버전 관리에 대해 질문하는 것 같습니다. 제 생각에는'V1Controller'는 좋은 습관이 아닙니다. MVC 프로젝트에서 모든 버전을 하나의 '컨트롤러'에 혼합했습니다. 나는 버전이 소스 제어의 역사에서 태그/포크 여야한다고 생각하고 있습니다. REST 서비스 만 제공하면 문제가되지 않지만 MVC에는 웹 사이트 + REST가 포함되어 있어야합니다. 그렇다면 웹 사이트가 최신 REST 만 사용하는 동안 REST의 버전 관리를 게시하려면 어떻게해야합니까? 그런 다음 웹 사이트 용으로 2 MVC 프로젝트를 만들고 나머지는 REST 서비스 용으로 만듭니다 (그러나 WCF가 아닌 이유는 무엇입니까?). MVC 프로젝트에서 모두 처리해야 다시 원래 생각으로 돌아와! – CallMeLaNN