Могу ли я иметь и контроллер, и API-контроллер для одного и того же?

Я только начал использовать VS 2012 RC, и я создаю веб-приложение ASP.NET MVC 4, в котором я планирую предоставить как пользовательский интерфейс на основе HTML -, так и программный интерфейс на основе WebApi -.

Для моего веб-сайта HTML у меня есть контроллер и представление для каждой из моих моделей (MVC! ), а маршрутизация работает «по соглашению», так что, например, URL /clientподключается к моему ClientController. Мой ClientControllerпроисходит от Controller.

Для своего API я создам новые контроллеры, производные от ApiController. Я, естественно, хочу, чтобы мои URL-адреса API были похожи на мои URL-адреса HTML, поэтому я хотел бы, чтобы информация о клиенте была доступна по адресу /api/client. Однако с маршрутизацией по соглашению -это предполагает, что мне нужен ApiController с именем ClientController. И у меня уже есть класс ClientController.

Как мне справиться с этим? Нужна ли мне настраиваемая маршрутизация? Нужно ли помещать классы API в другое пространство имен, чтобы дать им одно и то же имя?

Обновление:этот вопрос, кажется, предполагает, что другое пространство имен для моих контроллеров API — это все, что мне нужно:Смешайте контроллеры веб-API и контроллеры сайта

16
задан Community 23 May 2017 в 12:15
поделиться