mvc接口、webapi、webservice 对比
最近做了很多项目,也同时使用了mvc的接口,webapi的接口,以及webservice 的接口。先两两对比如下: mvc和webapi区别: 1、MVC是建站的一种框架,倾向于返回用户的页面请求;api倾向于返回用户数据请求; 2、mvc直接继承System.Web.Mvc.Controller; 而webapi继承的是System.Web.Http.ApiController 3、MVC只能部署到IIS上,而webapi可以寄宿在不同的宿主上(寄宿的本质就是利用一个具体的应用程序为Web Api提供一个运行的环境,并解决请求的接收和响应的回复),如Web Host,Self Host方式 (1)1个参数的时候,可以用
接口里面用如下方式接受 [HttpPost] public bool SaveData([FromBody]string NAME) { return true; } (2)两个以及两个以上的参数,是不能用方法明后加参数形式直接接收。 可以用实体方式(这种方法比较推荐。因为在手机端调用接口的时候更好的使用) 5、返回结果的区别: private JsonObject ModelToJson(Result result) { JsonObject obj = new JsonObject(); obj.Accumulate("code",result.code); obj.Accumulate("message",result.message); return obj; } 备注: 1、在新建webapi的时候,必须要添加webapi 控制器类。。不能直接新建个类,,然后改成继承ApiController,否则是无效的webapi. 2、JsonObject 来源于 Maticsoft.Json.dll 其实用的多了。就会感觉两个并没有太大的区别。但是如果你只是为了处理数据的话,采用webapi是比较好的选择,因为?MVC 框架负责的东西太多了,我们可以说它是一个重量级的框架,而webapi是个轻量级的框架。 webservice 和webapi区别: 1、webservice是基于SOAP协议的,数据格式是XML,webapi遵循的http协议,它的Response可以被而Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。
也就是webservice在data里面必须用参数名paraStu进行赋值,而webapi和mvc模式下的是不需要的。两者都可以直接用实体接参数 4、webapi无状态,相对webservice更轻量级。webapi支持如get,post等http操作,并且对限制带宽的设备,比如智能手机等支持的很好 ? 这样对比的话webservice貌似并不好用。但是我们为什么要用它呢,理由如下: 1、很好的跨编程语言和跨操作系统 ?所以综上所述。MVC接口、webapi、webservice三者各有优缺点,在实际应用中,要综合考虑自己的实际用途,选择最合适的实现方式,可以事半功倍。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |