首页 > 代码库 > WebApi学习笔记03:使用webapi模板--API帮助--fiddler工具使用--增删改查方法

WebApi学习笔记03:使用webapi模板--API帮助--fiddler工具使用--增删改查方法

1.Web项目

1.1概述

前面两个例子,使用的空web模板,它没有引入关于UI框架(Bootstrap,追求代码洁癖的人,也许不会喜欢它),更没有安装API帮助,

这次我们直接选webapi模板项目,但不勾选身份验证……

1.2创建项目

注:关于身份验证,后面单独例子再说。

这样创建的项目,直接是demo了,可以运行了。(就不截图了)

1.3修改控制器

打开Controllers\ValuesController.cs,修改为:

using System.Collections.Generic;using System.Web.Http;namespace WebApi03.Controllers{    public class ValuesController : ApiController    {        //模拟数据        static List<string> data = http://www.mamicode.com/InitList();"value1", "value2", "value3" };            return list;        }        // GET api/values         /// <summary>        /// 查询所有        /// </summary>        /// <returns>字符串集合</returns>        public IEnumerable<string> Get()        {            return data;        }        // GET api/values/5         /// <summary>        /// 根据id查询        /// </summary>        /// <param name="id">索引id</param>        /// <returns>单个字符串</returns>        public string Get(int id)        {            return data[id];        }        // POST api/values        /// <summary>        /// 添加一个字符串        /// </summary>        /// <param name="value">字符串</param>        public void Post([FromBody]string value)        {            data.Add(value);        }        // PUT api/values/5         /// <summary>        /// 根据id修改        /// </summary>        /// <param name="id">索引id</param>        /// <param name="value">字符串</param>        public void Put(int id, [FromBody]string value)        {            data[id] = value;        }        // DELETE api/values/5         /// <summary>        /// 根据id删除        /// </summary>        /// <param name="id">索引id</param>        public void Delete(int id)        {            data.RemoveAt(id);        }    }}

1.4浏览帮助API

先不测试控制器的Action方法是否OK?先看帮助页:

从上图看到“Description”内容都是“No……”。该如何让它显示Action方法的(/// <summary>方法描述)说明文字?

其实模板代码已经帮我写好了方法,我们只需要先设置生成xml文档即可。

右键当前项目,打开“属性”窗户(勾选):

然后再修改Areas\App_Start\HelpPageConfig.cs中代码(把这行代码注释去掉,并注意路径即可)

再查看帮助页:

当然在App_Start\下也生成WebApi03.XML。这里生成完毕后,我们暂时再去掉勾选:

1.5查询所有

这里开始fiddler工具了。先把web程序运行起来……

执行GET请求:

状态码Result 200表示成功,查看结果:

1.6查询单个

执行GET请求:

如果单个不能看JSON结果(原因看报文请求类型),也是可以看Raw:

注:字符串集合索引是从0开始的

1.7添加一个

执行POST请求:

状态码是204(其实应该为201,后面我们再介绍)表示成功。

再使用前面查询所有方式,看有没有添加成功???

注:这个结果是缓存里,所以可以查到。

1.8修改一个

执行PUT方法:

再查询所有:

 1.9删除一个

执行DELETE方法:

再查看所有:

 2.小结

本例希望你掌握生成API帮助描述文档和fiddler几个常用的CRUD请求方法调试。

但代码会也有一些问题,比如如果查询的id不存在,会报错的,而且添加,删除,修改的状态成功时都是204,失败时又是什么?

 

WebApi学习笔记03:使用webapi模板--API帮助--fiddler工具使用--增删改查方法