C# Web Api一个小例子
Posted 飞天阿豪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Web Api一个小例子相关的知识,希望对你有一定的参考价值。
1) 认识Web Api(C#)
ASP.NET Web API是一个框架,可以轻松构建HTTP服务,覆盖广泛的客户端,包括浏览器和移动设备。 ASP.NET Web API是在.NET Framework上构建RESTful应用程序的理想平台。
那么RESTful又是什么?
简单的解释,RESTful属于一种设计风格,REST中的GET,POST,PUT DELETE来进行数据的增删改查,如果开发人员的应用程序符合RESTful原则,则它的服务称为"RESTful风格应用服务"。
2) 新建项目使用Web Api
只需要建立一个空项目,并勾选Web Api即可。
3) 观察项目结构
WebApi和MVC结构上有着异曲同工的妙处,在MVC6中还合并了两个框架,曾经有位大牛说过“WebApi就是MVC的一部分”。我们先看下这个WebApiConfig.cs文件内的路由配置。
可以看到WebApi的路由是通过api/{controller}/{id}的方式请求的方式,不像MVC的模式有action。但我们也可以修改成MVC模式那样,但是微软不建议,我们先用这个默认的方式试一下。
4) 新建控制器
在Controllers控制器新建控制器,选择”包含读/写操作的Web API2控制器”确定。
会默认新建一个DefaultController.cs文件,里面代码如下,继承了ApiController类。可以看到要想访问某个控制器的某个”方法”,只需要根据对应的提交方法和参数提交,就可以执行对应的”方法”了。
public class DefaultController : ApiController
{
// GET: api/Default
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET: api/Default/5
public string Get(int id)
{
return "value";
}
// POST: api/Default
public void Post([FromBody]string value)
{
}
// PUT: api/Default/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE: api/Default/5
public void Delete(int id)
{
}
}
新建一个html页面,利用ajax get异步请求Default控制器,因为get请求不带参数,所以会默认找到Get()这个方法,返回字符数组。运行程序,打开html页面。
弹出了返回的数据。
修改url路径为有id在后面,请求的是带id参数的get方法
新建一个类,作为post请求使用
修改post提交的方法,接受Class1类并返回新的值
修改ajax提交方式为post,增加data参数,组装成Class1类的数据,提交。接收返回并弹出。
修改put提交的方法,接受Class1类,id并返回新的值
修改ajax提交方式为put,增加data参数,请求链接加上id,组装成Class1类的数据,提交。接收返回并弹出
修改修改delete提交的方法,当id有值时等于删除成功
修改ajax提交方式为delete,url提供删除的数据的id,获取返回值弹出
还可以修改默认路由为MVC的方式,不过访问时要建立对应的action方法。
以上是关于C# Web Api一个小例子的主要内容,如果未能解决你的问题,请参考以下文章