近期用到了WEBAPI的编程,现总结经验如下,以备后期参考。
1.
Web API 和 MVC可以说是两个不同的东西。Web API更倾向于基于HTTP协议的服务,直接返回用户的数据请求。MVC是建站的一种框架,倾向于返回用户的页面请求。
类似可以理解成ashx和webform的区别。
2.
微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码可读性强的,上手快的, 如果要拿它和web服务相比,我会说,它的接口更标准,更清晰,没有混乱的方法名称, 有的只有几种标准的请求,如get,post,put,delete等,它们分别对应的几个操作,下面讲一下: GET:生到数据列表(默认),或者得到一条实体数据 ,POST:添加服务端添加一条记录,记录实体为Form对象 ,PUT:添加或修改服务端的一条记录,记录实体的Form对象,记录主键以GET方式进行传输 , DELETE:删除 服务端的一条记录 。
3. 如果需要调用含有GET或POST等标识的方法,可以根据参数个数或类型等直接定义方法即可。
如果方法没有以上标识,需要增加
[HttpGet] 或[HttpPost]等标识符,以便调用时正确查询。
4.WEB API可以返回XML或JSON等需要的格式,但WEB SERVICE仅能返回XML数据格式。
但是,虽然WEB SERVICE只能返回XML格式的数据,但是如果对方法定义为返回DATASET格式,仍能正常运行,C#内部会有一定的处理机制,但如果与JAVA等其他语言对接,据说会有一定的错误,需要进行针对性的完善处理。
5. 在进行WEBAPI编程时,直接在像MVC中添加CONTROLLER一样在CONTROLLER文件夹下添加CONTROLLER,但引用时需要天API标识,如url: "api/BookInfo/checkname?name=123"。
6.WEBAPI通过方法参数名称识别方法,甚至忽略方法名称的区别。