如果你要问我WebApi是干嘛,我只能说它是的给数据。哈哈哈哈哈,这几天也才刚刚了解了解关于WebApi的知识,今天就来谈谈吧。
1.创建WebApi项目
第一步:选择ASP.NET Web应用程序
第二步:选择WebApi,记得要取消勾选Https配置,点击创建
第三步:创建完成后形成的项目结构
这里和ASP.NET MVC的目录结构看起来有点类似,其实还是有很大的不同的
在这里View视图其实不起什么作用。
下面来看看目录结构中有什么东西。
可以看到自动创建了两个控制器分别是Home和Values(这里的Student和User是我自己创建的)
进去看看。需要注意的是这里Home和下面介绍的Values是不同的控制器,哪里不同呢?等一下就知道啦
Home控制器:
Values控制器:
与Home控制器最大的区别就在于继承的控制器前者是Controller、后者是ApiController
可以看到这里分别有几个方法:Get(查询)、Post(新增)、Put(修改)、以及Delete(删除)
[FromBody]在这里的作用就是只接受从data中传递过来的参数,也就是其他传参方法比如QueryString形式的方法无法获取。为什么系统自动帮我们创建了这四个方法呢?
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Net; 5 using System.Net.Http; 6 using System.Web.Http; 7 8 namespace Demo.Controllers 9 { 10 //WebAPI控制器 11 public class ValuesController : ApiController 12 { 13 // GET api/values 14 public IEnumerable<string> Get() 15 { 16 return new string[] { "value1", "value2" }; 17 } 18 19 // GET api/values/5 20 public string Get(int id) 21 { 22 return "value"; 23 } 24 25 // POST api/values 26 public void Post([FromBody]string value) 27 { 28 } 29 //FromBody指定数据来源必须是data中的数据而不是从QueryString过来的 30 // PUT api/values/5 31 public void Put(int id, [FromBody]string value) 32 { 33 } 34 35 // DELETE api/values/5 36 public void Delete(int id) 37 { 38 } 39 } 40 }