小石学习之路https://blog.youkuaiyun.com/weixin_44352179
快速学习Web Api
你好! 学习web api之前让我们先回想一下HTTP基本的状态消息:
200 OK:请求成功(其后是对GET和POST请求的应答文档。),
304 Not Modified:未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求,
400 Bad Request:服务器未能编译出请求,
403 Forbidden:对被请求页面的访问被禁止(没有访问权限),
404 Not Found:服务器未能找到页面,
500 Internal Server Error:请求未完成。
.NET MVC和WEB API的区别
为了让大家区分MVC和webapi的概念和作用,我总结了几点关键的区别:
- 全新的界面设计 ,MVC主要用来构建网站,既关心数据也关心页面展示,而Web API只关注数据;
- Web API支持格式协商,客户端可以通过Accept header通知服务器期望的格式
- Web API非常适合构建移动客户端服务
- Web API通过不同的http verb表达不同的动作(CRUD),MVC则通过Action名字表达动作
- Web API支持Self Host(自托管),MVC目前不支持
通俗来说:
MVC的主要使用场景在于Web站点的开发,他在后端实现了一套完整的MVC开发框架,能提供方便的页面开发,默认使用Razor视图引擎,提供了后端html构造,用户可以方便地开发出带页面的站点。
而WebAPI主演提供了一套RestfulAPI的开发框架,提供了较为完整的http语义支持,主要用来做开放API,更抽象,更不注重View的生成。
从实现的角度看,虽然他俩捆绑在一起,但是两者处理管线还是不同的。
如果你对http有较为深入理解后,你就会发现,其实他俩的界限没那么明显,那么你也许会觉得mvc做的事webAPI都能做,因为他更抽象,有时候你又不想把两者的界限搞得那么清晰。(真正的WEB API还没有View视图的)
apiclound 提交的方式
Restful格式的数据的提供方式:
Get (常见):请求取数据
Post(常见):提交数据、插入数据
Put:修改数据
delete:删除
有的公司一般只用get和post,get用来获取数据,post修改插入数据。
实际操作
1、选中MVC WEB应用程序
1、选中WEB API项目
3、创建成功后,会看到创建一个WEB API项目跟MVC项目的文件一样。但是真正的WEB API是没有视图的,这里的视图是默认显示。controller默认有两个:一个是Home控制器(用来使用MVC,继承的是Controller),另一个是Values控制器(用来写WEB API 继承ApiController)。
4、WEB API 控制器默认有前面说的四种数据处理方式,分别有无参数和有参数。
5、我们怎么查看我们的API数据呢?运行程序集更改路由地址:然后我们会得到Get方法返回的value1,value2(返回的是xml格式)。
6、为什么我们的路由前面要加api呢?因为我们有两个默认的路由文件一个是mvc的,一个是webapi的为了区分控制器的方法。
写到这里相信你对WEB API有了一定的了解了吧!
只有学习才能收获,加油少年!