码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2014-11-05 00:24:15      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   io   color   ar   os   使用   

1.Web项目

1.1概述

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

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

1.2创建项目

bubuko.com,布布扣

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

这样创建的项目,直接是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 = InitList();

        private static List<string> InitList()
        {
            var list = new List<string> { "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?先看帮助页:

bubuko.com,布布扣

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

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

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

bubuko.com,布布扣

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

bubuko.com,布布扣

再查看帮助页:

bubuko.com,布布扣

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

bubuko.com,布布扣

1.5查询所有

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

执行GET请求:

bubuko.com,布布扣

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

bubuko.com,布布扣

1.6查询单个

执行GET请求:

bubuko.com,布布扣

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

bubuko.com,布布扣

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

1.7添加一个

执行POST请求:

bubuko.com,布布扣

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

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

bubuko.com,布布扣

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

1.8修改一个

执行PUT方法:

bubuko.com,布布扣

再查询所有:

bubuko.com,布布扣

 1.9删除一个

执行DELETE方法:

bubuko.com,布布扣

再查看所有:

bubuko.com,布布扣

 2.小结

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

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

 

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

标签:des   style   blog   http   io   color   ar   os   使用   

原文地址:http://www.cnblogs.com/elder/p/4073701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!