ASP.NET MVC 5应用程序调用本地WebAPI?

时间:2014-04-02 05:17:58

标签: .net asp.net-mvc asp.net-mvc-5

有一个Web应用程序,其中大多数页面使用MVC 5视图,但主页面可能使用某些SPA。但是,现在我想使用MVC 5视图创建主页面,稍后使用SPA重写它。

我现在应该创建一个WebApi控制器吗?然后控制器消耗Web Api控制器?那么它会让未来更轻松吗?

在另一个MVC控制器中使用本地WebApi的好方法是什么?希望它可以强大打字。

2 个答案:

答案 0 :(得分:1)

将Web API用作返回JSON数据的Rest完整服务听起来是个好主意。 因此,您可以使用像Angular或其他类似的javascript库来调用此完整的服务,并在将来用于构建您的SPA应用程序。

如果您的Web API位于同一个项目中,则只需实例化类

即可访问WebAPI控制器
var webApi = new WebAPIController();
var data = webApi.methodName(); 

或者你可以使用Jquery ajax并使用Jquery.ajax调用你的web api方法。或者,如果是外部Web API,您可以使用HTTPClient来使用Web API。

答案 1 :(得分:0)

是的,你可以这样做。这是一个很好的链接和这样做的好方法。

requestMethod.getRequest("POST", "application/json", string.Format("{0}/api/products/", json).GetResponse();

参考:

http://codebetter.com/johnvpetersen/2012/03/22/accessing-a-asp-net-webapi-rest-service-from-asp-net-mvc/