• 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) 观察项目结构

    WebApiMVC结构上有着异曲同工的妙处,在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提交方式为deleteurl提供删除的数据的id,获取返回值弹出

     

    还可以修改默认路由为MVC的方式,不过访问时要建立对应的action方法。

     

  • 相关阅读:
    ABP之模块分析
    AutoMapper之ABP项目中的使用介绍
    Castle Windsor常用介绍以及其在ABP项目的应用介绍
    EasyUI实战经验总结,给有需要的人
    无法发送具有此谓词类型的内容正文
    ADO.NET 新特性之SqlBulkCopy
    SVN无法Cleanup
    Mac使用操作
    Mac下的Mysql无法登陆的问题
    mac 终端 常用命令
  • 原文地址:https://www.cnblogs.com/FTAH/p/9260696.html
Copyright © 2020-2023  润新知