Я занимаюсь разработкой веб-приложения. Это скорее бизнес-приложение, а не веб-сайт. Я использую ASP.NET MVC, SQL Server 2008, и я купил LLBLGen. Мне нужно предоставить какой-то API для третьих лиц. Например, если это медицинское приложение, третьим лицам может потребоваться CRUD-пациент, получать сложные отчеты, задействовать определенные виды рабочих процессов и т. Д.
Каков наилучший способ сделать это с MVC, не переходя на маршрут астронавта архитектуры. Нужен ли мне целый слой типа «веб-сервис» или я могу повторно использовать свои контроллеры в MVC? Имеет ли смысл выставлять такого рода API через MVC? Оптимально, мне нужно решение, которое включает в себя наименьшее количество повторений кода. Я нашел кое-что о выполнении REST с MVC, но кое-что довольно двусмысленное, и я не уверен, имеет ли это смысл. Мне нужен разумный API, но я не обязан следовать всем принципам религии REST или чего-то подобного. Мне просто нужен какой-то API в дополнение к предоставлению HTML-интерфейса сайту, будь то REST, SOAP, что угодно.
Кроме того, какие есть варианты для работы с URL? Не все в приложении отображается на что-то вроде site / products / product-id. Некоторые из них включают использование сложных рабочих процессов и т. Д.