2015-06-20 2 views
4

Я закончил ASP.NET-MVC5 приложения (веб-сайт), где у меня есть много контроллеров MVC: enter image description hereГде я должен хранить контроллеры WebAPI внутри проекта ASP.NET-MVC 5?

Я хотел бы, насколько функциональность моего приложения, выставляя WEB API с OData.

Например, я хотел бы создать другой контроллер для класса модели Person, но на этот раз он должен быть API-интерфейсом Web API, а не MVC. Должен ли я WEB API хранить его в папке Controller и просто называть его PersonWebAPIController? Это будет работать?

+1

Если вы хотите физически отделить код, вы можете создать папку в папке 'Controllers' и поместить там все ApiControllers. Если вы хотите их логически отделить, используйте другое пространство имен. Но чтобы ответить на ваш вопрос: «Будет ли это работать?» Да. С технической точки зрения, вы можете иметь контроллеры в любой папке в рамках проекта. – ramiramilu

+0

@ramiramilu Я как-то знаком с MVC, но API для меня новичок. Будут ли какие-либо представления, связанные с контроллерами API? Если да, в папке 'Views' есть подпапки? – Yoda

+1

Нет представлений, связанных с веб-API, если вы не хотите создавать документацию. – ramiramilu

ответ

5

Чтобы ответить на ваш вопрос Will it work? да

Но если вы хотите, чтобы отделить код физически, то вы можете создать пользовательскую папку в Controllers папку и поместить все ApiControllers во вновь созданную папку. Если вы хотите логически отделить контроллеры MVC и API, используйте для них разные namespaces.

Технически вы можете иметь контроллеры в любой пользовательской папке в проекте Visual studio.

2

Вы можете удалить маршрутизацию по умолчанию и использовать маршрутизацию, основанную на атрибутах, для достижения этой цели. Добавьте все ваши ApiControllers в папку «API» с атрибутом [Маршрут] с правильной маршрутизацией.

Пожалуйста, посмотрите на это link для получения более подробной информации.

Смежные вопросы