Я хочу создать API для большого приложения ASP.NET MVC. Это приложение использует строго типизированные модели представления для всех своих представлений. Наиболее важной задачей API будет включение функциональности веб-сайта на других платформах, таких как iPhone Objective C.
Теперь с самого начала была идея повторно использовать ViewModels и существующие действия контроллера для API таким образом, чтобы модели представления возвращались контроллером вместо представления в виде JSON или Ajax.
Но об этом уже шла дискуссия, потому что у моделей представления есть много сложной информации, которая не всегда кажется полезной для API. Например, типичной API-функцией может быть GetRanking (). Модель представления, принадлежащая действию Ranking (), на самом деле содержит больше данных, таких как имя текущего пользователя и, возможно, некоторые пояснения о рейтинге.
Итак, вопрос в том, как лучше всего подойти к этому: написать отдельные действия для API и вернуть сериализованные доменные объекты или повторно использовать текущие действия и модели представления и просто игнорировать ненужные данные?