ASP.Net Web-api 不可多得的零基础教程1

Asp.Net提供的Web-Api是一个很好用的Api工具,很头疼的是极少有零基础入门教程。让我们一起学习吧!看之前我觉得你需要有C#基础知识,Http数据请求和响应的基础知识,html基础知识。


1.创建工程。打开vs ,我的是2013版本,新建一个Asp.Net MVC 4 web 应用程序。 


 2.选择web -api模板,web -api全称太麻烦了,以后简称api吧。



现在,一个api工程就建好了。


3.在解决方案的models文件夹上右键新建一个model类






这里,我新建了一个学生类:

 public class Student
    {
        public int Id
        {
            get; set;
        }
        public string Name
        {
            get; set;
        }
        public char Sex
        {
            get;set;
        }
        public int Age
        {
            get;set;
        }
        public Student(int id,string name,char sex,int age)
        {
            this.Id = id;
            this.Name = name;
            this.Sex = sex;
            this.Age = age;
        }
    }

Tips:其中只是设置了几个属性,一个构造函数。这几个属性有点C#基础的话都能看懂,不多解释了。我们来说说为什么创建了一个Model类。实际上和普通的类没有什么差别,就相当于我们封装了一个类便于管理是一个意思。所以把一个对象的属性整合起来构成一个Model也就是模型的意思,实际上还是用于封装。


4.在解决方案的controller上右键新建一个MVC 4 controller




Tips:什么是Controller,从来没听说过啊,作为只有C#基础的小白的我也着实蛋疼,不过查阅了好多资料还不如自己多琢磨一下案例。。。这里的Controller可以理解为管理工具,这个工具是用来和客户端进行交互的。既然你能找到web-api,你就一定知道它是用来干啥的----作为服务端提供给客户端数据交互的。所以这个类就是用于和客户端交互的,当然是基于HTTP语言的交互啦!

5.这里,我们需要有数据交互,所以创建了一个静态链表,并在静态构造函数中实例化初始化了一下。

public class StudentController : ApiController
    {
        private static List<Student> list=null;
        static StudentController()
        {
            list = new List<Student>()
            {
                new Student(1,"zhangsan",'男',20),
                new Student(2,"lisi",'女',21),
                new Student(3,"wangwu",'男',22),
                new Student(4,"zhaoliu",'女',23)
            };
        }
}

6.我们开始写方法了:首先,HTTP请求的时候基本上会有GET(客户端获取数据)、POST(客户端添加数据)、PUT(客户端修改数据)、DELETE(客户端删除数据)请求(还有其他的,自己查阅相关资料吧)。


先来看一个GET操作,也就是客户端获取数据的请求,我们的服务器端Controller会来处理。

        
        //用于获取所有数据
        // GET: /api/Student/
        public IEnumerable<Student> GetStudent()
        {
            return list;
        }
        //用于获取符合id的数据
        // GET: /api/Student/id
        public Student GetStudent(int id)
        {
            return list.Where((s) => s.Id == id).SingleOrDefault();
        }

这里写了两个函数,你会发现这两个函数有个共同特点就是函数名一样的,都是Get开头的,并且后缀都是Student,好熟悉的名字,当然了,我们创建的Controller的名字就是StudentController,就是它。
函数里面用到了LinQ技术,不会的话查阅相关资料吧,这些都是C#的基础知识。当然也可以采用普通不过的方法。


接下来,我们写添加数据的函数没错,命名肯定是PostStudent!

        //用于添加数据
        // POST: /api/Student/
        public void PostStudent( [FromBody] Student value)
        {
            list.Add(value);
        }

这里用到了一个参数,前面加了【FromBody】这句话就是一个修饰,意思是具体的数据来源于客户端Post请求的正文部分。


下面是put修改数据

        //用于修改数据
        // PUT: /api/Student/id
        public void PutStudent(int id, [FromBody] Student value)
        {
            list.Remove(list.Where((p) => p.Id == id).Single());
            list.Add(value);
        }

最后是Delete删除数据

        //用于删除数据
        // DELETE: /api/Student/id
        public void DeleteStudent(int id)
        {
            list.Remove(list.Where((p) => p.Id == id).Single());
        }

7.快开始测试吧!

端口号可能有所不同,大家根据自己的端口号进行测试。



本次教程至此结束!请关注后续教程!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值