您的位置:首页 > 编程语言 > ASP

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

2018-04-04 16:16 399 查看

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.快开始测试吧!

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



本次教程至此结束!请关注后续教程!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: