WebAPI学习WEBAPI笔记1_20180324
Posted laokchen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebAPI学习WEBAPI笔记1_20180324相关的知识,希望对你有一定的参考价值。
[日期2180324(六)]
ASP.NET WebAPI
WEBAPI能负责构建http常规的服务,和SingalR一起架构Service服务层,SingalR可以做比较高级的服务,如实时服务。而WebAPI是很简单的一个架构,只是发布一些简单的http请求服务,但不需建SOAP格式,较开源开放形式。
它的功能
支持http verb(get/post,还有少用的delete,put)的增删改查服务。
支持JSON和XML,还有自定义格式。
支持MVC大部分功能,如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。(所以还是要学学MVC,最起码这些。。)
原生的api支持oData(虽然不懂)
WebAPI和MVC的区别
1.MVC主要是网站,要数据和页面,WebAPI只负责数据;
2.WebAPI用http verb表达行动,MVC用action表达行动(这个我知道)
3.WebAPI在System.Web.Http,MVC在System.Web.MVC
[日期20180325(日)]
创建 WebAPI(基于MVC和独立创建)
1.打开VS2013 - 创建项目-Web-ASP.NET Web应用程序 -选择WebAPI,创建好后会有MVC基本框架,和WebAPI的2个文件,WebApiConfig.cs(配置文件)和ValuesController.cs(控制器)
2.独立的创建空项目,然后点击项目到NuGet找Web API引用,引用后会有基本的框架。
第一个WebAPI控制器
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; namespace WebApplication3.Controllers { public class BaseController : ApiController { // GET: api/Base [HttpGet] public IEnumerable<string> GetList() { //访问:http://location:1234/api/values //get方式 return new string[] { "value1", "value2" }; } // GET: api/Base/5 [HttpGet] public string GetModel(int id) { //访问:http://location:1234/api/values?id=1 //get方式 return "value"; } // POST: api/Base [HttpPost] public void Post_Add([FromBody]string value) { //访问:http://location:1234/api/values //post方式 } // PUT: api/Base/5 [HttpPut] public void Put_Update(int id, [FromBody]string value) { //访问:http://location:1234/api/values?id=1 //put方式 } // DELETE: api/Base/5 [HttpDelete] public void DeleteModel(int id) { //访问:http://location:1234/api/values?id=1 //delete方式 } } }
这个就是生成的ValuesController.cs里的代码,方法名自己命名了,然后上面加动词属性。有点类似MVC。
访问地址规则可以在WebApiConfig.cs里修改。
控制器必须继承System.Web.HTTP.ApiController,然后你就可以在任何文件夹里创建(建议还是在专门的文件夹里)
以上是关于WebAPI学习WEBAPI笔记1_20180324的主要内容,如果未能解决你的问题,请参考以下文章