Должен ли я использовать свой собственный веб-API - PullRequest
1 голос
/ 19 марта 2012

Я проверяю Web API и не уверен, как asp.net mvc и web api могут или должны работать вместе.

Я хочу реализовать Backbone на стороне клиента, но яне уверен, стоит ли мне реализовывать ApiController или обычный контроллер на стороне сервера?

Способ, которым я делаю вещи (получение информации о текущем пользователе / ​​учетной записи), заключается в том, что базовый ApiController будет иметь некоторые из тех же функций.как базовый контроллер, что приведет к некоторой дублирующей функциональности, но не уверен, какие будут другие компромиссы.

Или вы бы создали ApiController только для публичной службы, которую вы хотите предоставить ипридерживаться контроллеров для веб-приложения?

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Если вы планируете API, используйте ApiController. Если вы занимаетесь веб-интерфейсом, используйте классический контроллер. Для этого и созданы оба.

0 голосов
/ 25 июня 2012

Это почти та же ситуация, в которой я нахожусь, за исключением того, что я использую Knockout.js, а не Backbone.У меня есть представления для Create и Edit, и в каждом представлении очень сложный пользовательский интерфейс Knockout.js, который выполняет Ajaxing JSON назад и вперед на сервер.

В MVC3 я использовал многочисленные методы JsonResult в одном и том жеконтроллер, который предоставил взгляды.Я экспериментировал с RC MVC4 и размышлял, пойти ли по «маршруту» (хо-хо) использования контроллера API для запросов Ajax.Мне нравятся строго типизированные HTTP-классы и тот факт, что JSON.NET более интегрирован, но на этом этапе я должен сказать, что конечный результат наличия отдельного контроллера API для собственного внутреннего использования просто не был правильным.Как и вы, я обнаружил, что у меня много дублирования в области безопасности, и разделение логики, связанной с простыми типами контента, делало вещи более запутанными, а не чище.

Итак, на данный момент (хотя ябыло известно, что это ненадежно) Я планирую продолжать использовать стандартные контроллеры MVC для моего текущего контекста, но я воспользуюсь возможностью использовать блестящий новый веб-API, если я в конечном итоге выставлю публичный API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...