MVC和Web API如何在应用程序中协同工作?
您是否应该使用javascript绑定(使用knockout.js和ajax调用)并将MVC用于实际的容器页面?
或者您是否从MVC控制器(如WCF服务层)调用Web API?
我不清楚MVC和Web API的集成。
如果我经常要求返回HTML(即我想使用Partials),我是否应该使用Web API?
我想使用网络API,所以我可以扩展我的应用程序(从一侧返回HTML,但保留一个可以返回/处理XML的API)!
感谢您清理它:)
答案 0 :(得分:4)
以下the link的图片清楚地解释了MVC和Web Api如何协同工作:
从技术上讲,你可以从MVC调用Web API,但它不是真正的最佳实践:
通过网络(分发)从MVC调用Web API,这会使您的应用程序更加复杂。
Web Api是REST Api,它不像WCF那样是SOAP Api(虽然WCF支持REST Api)。因此,通过JavaScript,您可以使用ajax更轻松地调用Web Api。
答案 1 :(得分:1)
以下是我如何设置最新的MVC和Web API应用程序:有常规模型层(* M * VC),我已经为业务规则创建了一个服务层。我的MVC应用程序的控制器调用服务层来处理来自视图的数据。
我的Web API应用程序是服务层上方法的外部接口,因此MVC应用程序和Web API应用程序上的控制器都会调用服务层。我希望这会有所帮助。