대형 ASP.NET MVC 응용 프로그램 용 API를 만들고 싶습니다. 이 응용 프로그램은 모든 뷰에 대해 강력한 형식의 뷰 모델을 사용합니다. API의 가장 중요한 작업은 iPhone의 Objective C와 같은 다른 플랫폼에서 웹 사이트의 기능을 활성화하는 것입니다.ASP.NET MVC에서 API 용 ViewModels 재사용?
이제 ViewModels 및 기존 컨트롤러 액션을 처음부터 재사용 할 생각이었습니다. viewModel은 뷰 대신 컨트롤러에 의해 JSON 또는 Ajax 결과로 반환됩니다.
그러나 뷰 모델에는 항상 API에 유용하지는 않은 합성 정보가 많기 때문에 이에 대한 논의가있었습니다. 예를 들어, 일반적인 API 함수는 GetRanking()이 될 수 있습니다. Ranking() 액션에 속한 뷰 모델에는 실제로 현재 사용자의 이름과 순위에 대한 설명과 같은 더 많은 데이터가 있습니다.
이렇게 접근하는 가장 좋은 방법은 무엇입니까? API에 대해 별도의 작업을 작성하고 직렬화 된 도메인 객체를 반환하거나 현재 작업 및 뷰 모델을 재사용하고 불필요한 데이터를 무시하십시오.
컨트롤러 작업을 다시 사용 하시겠습니까? 아니면 API에 대해 별도의 작업을 만드시겠습니까? – Randam
솔직히 말해서 약간의 전술적 결정입니다. 즉, 귀하의 컨트롤러는 도메인 마스트에서 실제 마술이 일어나야하므로 간단하고 값 싸고 쓸모가 있어야합니다. 따라서 서비스 컨트롤러를 별도로 설정해야합니다. –