我想开始为我们公司实施一个新项目,该项目是关于管理我们公司的资产,如服务器,个人电脑,车辆,家具等。该系统的主要功能包括: -
所以在我的项目中,我不需要像其他系统那样拥有Web服务 - 在这个阶段 - 需要与系统集成。并且主要是控制器类将返回html页面,但仅针对某些场景如jQuery auto complete,控制器类将返回JSON对象以显示在auto complete上。 所以我需要在我的情况下使用Web API吗?或者我可以实现系统而无需查看Web API,因为我之前没有在WebAPI上工作?
第二个问题,如果我认为我目前需要在当前阶段使用Web API;那时我应该考虑在我的项目中使用Web API吗?
BR
答案 0 :(得分:4)
由于您的项目需要呈现html页面,因此首选使用MVC控制器,因为它们已针对向Web浏览器提供内容进行了优化。
但是,您可以在同一个项目中混合使用MVC控制器和Api控制器。您可以将它们放在单独的命名空间中,例如MyApp.Mvc.AssetsController
和MyApp.WebAPI.AssetsController
。
这将允许您在MVC和WebAPI中公开类似的URI路由,例如:
/assets/1 << MVC view - data rendered in html
/api/assets/1 << Web API - Json, images, etc..
通常,如果您希望某人能够使用XML,JSON等API,那么请使用web api。如果您的操作是以视图为中心的(例如,用户对数据采取行动的html页面),那么您将需要一个MVC控制器。
答案 1 :(得分:1)