首页 新闻 搜索 专区 学院

web api和mvc 怎么进行连接调用

0
悬赏园豆:100 [已解决问题] 解决于 2017-06-26 14:36
 mvc控制器怎么调用webapi呀  最好有一个demo
段情的主页 段情 | 初学一级 | 园豆:167
提问于:2016-12-15 08:57
< >
分享
最佳答案
0

11111

段情 | 初学一级 |园豆:167 | 2017-06-06 10:12
其他回答(8)
0

web service就是为跨系统而来,你用浏览器(或插件)可以怎么打开你就可以怎么调用;如果是应用程序内,你怎么使用类你就怎么用。

收获园豆:5
花飘水流兮 | 园豆:11974 (专家六级) | 2016-12-15 09:01
0

你说的要是服务端的话,说明你没有写BLL层

收获园豆:5
刘宏玺 | 园豆:14006 (专家六级) | 2016-12-15 09:02

mvc调用的webapi 跟 BLL层有啥关系

支持(0) 反对(0) 嘎嘣脆boom | 园豆:207 (菜鸟二级) | 2016-12-15 09:04

@嘎嘣脆boom: 因为都是后台逻辑,为啥不写在一起?

支持(0) 反对(0) 刘宏玺 | 园豆:14006 (专家六级) | 2016-12-15 09:32

@刘宏玺: 那我想写个demo,没有BLL层不可以?

支持(0) 反对(0) 嘎嘣脆boom | 园豆:207 (菜鸟二级) | 2016-12-15 09:33

@嘎嘣脆boom: 理论上是可以的,直接new一个webapi的对象在mvc的控制器里面不行吗?

支持(1) 反对(0) 刘宏玺 | 园豆:14006 (专家六级) | 2016-12-15 09:34
0

httpClient调啊,和普通服务端http请求没区别。

收获园豆:5
Daniel Cai | 园豆:10374 (专家六级) | 2016-12-15 09:03
0
//在MVC project中加个common 泛型function,再到controller中发出请求动作
1
public virtual T Excute<T>(RestSharp.IRestRequest request) where T : new() 2 { 3 RestSharp.RestClient client = InitRestClient(); 4 var response = client.Execute<T>(request); 5 6 if (response == null) 7 { 8 throw new ErrorCodeException(2701500, "Can not access service"); 9 } 10 11 T responseData = response.Data; 12 13 if (response.StatusCode == System.Net.HttpStatusCode.InternalServerError) 14 { 15 //Deal with error. 16 } 17 return responseData; 18 } 19 20 private RestSharp.RestClient InitRestClient() 21 { 22 string BaseUrl = "The WebApi which you request."; 23 RestSharp.RestClient client = new RestSharp.RestClient(); 24 client.BaseUrl = new Uri(string.Format("{0}", BaseUrl)); 25 client.Timeout = 120000; 26 return client; 27 } 28 调用: 29 public List<GetUserInfoResponse> GetUserInfo() 30 { 31 RestSharp.IRestRequest request = new RestSharp.RestRequest("", RestSharp.Method.GET); 32 GetUserInfoResponse response = Excute<GetUserInfoResponse>(request); 33 34 if (response = null) 35 { 36 //Deal with error. 37 } 38 return response; 39 }

 

收获园豆:50
~扎克伯格 | 园豆:1842 (小虾三级) | 2016-12-15 09:35
0

和普通的发http请求一样的,先封装一些get、post方法,然后统一调用。

参考:

http://blog.csdn.net/make1828/article/details/49869637

http://blog.csdn.net/smartsmile2012/article/details/51613596

收获园豆:10
balahoho | 园豆:2048 (老鸟四级) | 2016-12-15 11:28
0

我们项目中有用到这种情况,和c#去调用服务或者接口一样就好了。

收获园豆:10
小白拜 | 园豆:111 (初学一级) | 2016-12-15 17:34
0

这在一个项目中,这就相当与两个controller类嘛。你直接var api =new ApiController();  这mvc里面不就可以用了。api.GetAction()

收获园豆:5
开山怪不怪 | 园豆:544 (小虾三级) | 2016-12-16 00:30
0

在MVC中用jQuery Ajax去调用Web API的数据接口

收获园豆:10
Phoenix Huang | 园豆:212 (菜鸟二级) | 2016-12-20 16:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册