fiddler java api_WebApi及Fiddler工具

1.概述

曾经有人问: asp.net mvc和asp.net webapi区别在哪? 这个其实不好回答的。可能因为mvc模式盛行的原因,webapi显得孤芳自赏了,让人觉得它是鸡肋。其实webapi应该比mvc更符合web应用与开发本质,功能也不弱于mvc。

mvc4和5出现时,才有webapi出现,至于它为何出现?我们没有必要研究这些,能玩好它就行了。这时的webapi和mvc的最大区别是路由管道不一致,各实现自己的一套。到了mvc6时代,微软也意识到,代码基本差不多,何不重用?所以,现在 mvc6已经统一了mvc和webapi路由 。

说到这,可能还是觉得mvc和webapi机制和实现起来,看起来长得很象呀。是的,没错。其实webapi最核心的是使用 REST 风格。关于何谓REST?建议你另行了解。这里大概说一下, webapi中的Action方法名是使用HTTP方法名或其前缀 ,当然也可以不按照这些,在方法上标注 HTTP方法名特性 也行的。这么说,有些绕了,抱歉!

2.创建项目

为了演示说明,还是创建一个ASP.NET 5项目模板的 GiveCase.WebApies :

63120011_1.jpg

注:已经有了Values控制器示例了 。

3.Fiddler

这个工具对 模拟HTTP请求 调试很有帮助的,建议会使用。 官方网址http://www.telerik.com/fiddler

4.控制器

打开Controllers\ ValuesController.cs 并修改为:隐藏代码using System.Collections.Generic;

using Microsoft.AspNet.Mvc;

namespace GiveCase.WebApies.Controllers

{

[Route("api/[controller]")]

public class ValuesController : Controller

{

//模拟数据

static List data = InitList();

private static List InitList()

{

var list = new List { "value1", "value2", "value3" };

return list;

}

// GET: api/values

[HttpGet]

public IEnumerable Get()

{

return data;

}

// GET api/values/5

[HttpGet("{id}")]

public string Get(int id)

{

return data[id];

}

// POST api/values

[HttpPost]

public void Post([FromBody]string value)

{

data.Add(value);

}

// PUT api/values/5

[HttpPut("{id}")]

public void Put(int id, [FromBody]string value)

{

data[id] = value;

}

// DELETE api/values/5

[HttpDelete("{id}")]

public void Delete(int id)

{

data.RemoveAt(id);

}

}

}

4.测试演示

运行网站,使用fiddler工具。

1.get方法查询所有

63120011_2.jpg

Execute执行结果:

63120011_3.jpg

2.get方法查询单个

63120011_4.jpg

注:索引是从0开始的,所以查询id为1的结果是集合的第二个元素。

3.post方法添加一个

在请求头加上:

Accept:application/xml Content-Type:application/json

63120011_5.jpg

执行成功后( 注意状态码是204,其实应该是201,后续文章再纠正 ):

63120011_6.jpg

再用前面说的get方法查询所有:

63120011_7.jpg

ok!添加成功!

4.put方法修改一个

我们演示把value1改为value5

63120011_8.jpg

执行后,再用get方法查询所有:

63120011_9.jpg

OK,也修改成功!

5.delete方法删除一个

我们演示把第4个value4删除

63120011_10.jpg

执行后,再用get方法查询所有:

63120011_11.jpg

ok,值为value4没了!

5.小结

本章内容也不多,只是操作字符串集合,也没有把它输出到html页面上,更没有演示使用实体集合(这是 实际应用必须的 )。关于 http状态码知识 也没有介绍到。代码写得也不够严谨,比如索引访问越界不存在等错误或异常处理。

我们学习知识,慢慢来吧!先到此为止!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值