Я только начал использовать 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 и контроллеры сайта