Группировка Контроллеров
-
21-08-2019 - |
Вопрос
В проекте Visual Studio 2008 как можно структурировать свои контроллеры так, чтобы они были доступны в следующей директиве?
http://localhost/MyWebsite/api/users/get/1
Оба / api/ и /users / являются контроллерами, "get" которых является методом "users" с 1 в качестве параметра
По сути, я говорю о достижении ПОКОЯ, который я бы предположил.
Есть какие-нибудь идеи?
Спасибо, Ник
Исправлено
Фил Хаак разработал расширение под названием Areas, которое позволяет группировать контроллеры в проекте ASP.Net MVC.Группировка Контроллеров
Решение
Вам нужно будет настроить свой собственный пользовательский маршрут.Видишь этот учебник для получения более подробной информации.Объедините это с атрибутом AcceptVerbs для достижения функциональности REST.
Другие советы
Если вы хотите, чтобы REST api не был контроллером, api - это метод доступа к вашему пользователю.другой - html.
Ваш маршрут должен быть localhost /user / 1 - лично я бы оставил get out .Это не описание, вы можете получить список пользователей или одного пользователя.Если вам что-то нужно, используйте Detail.Затем в вашем контроллере вы отвечаете на запрос соответствующим образом в зависимости от того, кто является вашим вызывающим абонентом (api vs html).
однако ктрауберман прав: когда придет время начать вложение ваших маршрутов, вам придется использовать пользовательский маршрут в вашем global.asax.Примером этого может быть:
локальный хост/пользователь/{userId}/адрес/{AddressID}
Кайл