Группировка контроллеров - PullRequest
0 голосов
/ 03 февраля 2009

В проекте Visual Studio 2008, как можно структурировать свои контроллеры, чтобы они были доступны в следующей директиве?

http://localhost/MyWebsite/api/users/get/1

Оба / api / и / users / являются контроллерами "get", являющимися методом "users" с 1 в качестве параметра

По сути, я говорю о достижении REST, я бы предположил.

Есть идеи?

Спасибо, Ник

Fixed

Фил Хаак разработал расширение под названием Areas, которое позволяет группировать его контроллеры в проекте ASP.Net MVC. Группировка контроллеров

Ответы [ 2 ]

1 голос
/ 03 февраля 2009

Если вы собираетесь использовать REST, api не должен быть контроллером, api - это метод доступа к вашему пользователю. другое - HTML.

Ваш маршрут должен быть localhost / user / 1 - лично я оставлю выход. Это не описательно, вы можете получить список пользователей или одного пользователя. Если вы хотите что-то, используйте Detail. Затем в вашем контроллере вы отвечаете на запрос соответствующим образом в зависимости от того, кто ваш абонент (api vs html).

ktrauberman прав, хотя, когда пришло время начинать вложение ваших маршрутов, вам придется использовать собственный маршрут в вашем global.asax. Примером этого может быть:

локальный / пользователь / {идентификатор пользователя} / адрес / {AddressID}

Кайл

1 голос
/ 03 февраля 2009

Вам нужно будет настроить свой собственный маршрут. См. этот урок для более подробной информации. Объедините это с атрибутом AcceptVerbs для достижения функциональности REST.

...