0

我想开始为我们公司实施一个新项目,该项目是关于管理我们公司的资产,如服务器、电脑、车辆、家具等。系统的主要功能包括:-

  1. 添加不同类型的资产。
  2. 编辑资产。
  3. 删除资产。
  4. 将资产相互链接
  5. 提供有关资产的报告和统计结果。

所以在我的项目中,我不需要 Web 服务,因为没有其他系统——在这个阶段——需要与系统集成。并且主要是控制器类将返回 html 页面,但仅对于某些场景,例如 jQuery 自动完成,控制器类将返回 JSON 对象以显示在自动完成上。那么我需要在我的情况下使用 Web API 吗?或者我可以在不需要查看 Web API 的情况下实现系统,因为我之前没有使用过 WebAPI?

第二个问题,如果我假设我目前确实需要在当前阶段使用 Web API;那么我什么时候应该考虑在我的项目中使用 Web API?

BR

4

2 回答 2

4

由于您的项目需要呈现 html 页面,因此首选使用 MVC 控制器,因为它们已针对向 Web 浏览器提供内容进行了优化。

但是,您可以在同一个项目中混合使用 MVC 控制器和 Api 控制器。您可以将它们放在单独的名称空间中,例如MyApp.Mvc.AssetsControllerMyApp.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 控制器。

于 2013-06-02T01:35:56.363 回答
1

看到这个:使用控制器来渲染你的普通视图。ApiController 操作仅返回序列化并发送到客户端的数据。和this

于 2013-06-02T04:44:25.863 回答