zoukankan      html  css  js  c++  java
  • 通过Fiddler测试你的 REST WCF服务

      Fiddler是一款强大的软件,在实际的开发中它能帮助我们跟踪HTTP请求,记录发送请求和获取到请求结果的数据。
    使用VS2008的时候,一直是用IE6浏览调试,使用Fiddler也正常。但本人一直习惯用FireFox,可怜用它访问的时
    Fiddler却不能帮助记录下数据(FireFox版本:4.0)。还以为Fiddle只能在IE下使用,试了试chrome,发现也可以用。
    言归正卷,本篇针对上篇中的REST服务(具体例子以及带代码采用上节中介绍的:通过HTTP协议标准动作使用REST WCF 服务)使用Fiddler简要做一个介绍。
    首先大致说说Fiddler的界面,如图:

                        (图1)
      我们在测试REST WCF服务时,需要在右侧选中Request Builder选项卡,然后在其选项卡中的子项中选择Parse,然后选择相应的HTTP标准动作,如(GET\POST\DELETE\PUT),在地址栏中输入相应的URI地址。如图:

          (图2)

      若在契约结果中,定义了不同的请求类型,如定义 [WebInvoke(UriTemplate = "Student/{name}/{tel}", Method = "POST",RequestFormat = WebMessageFormat.Json,ResponseFormat = WebMessageFormat.Json)]
    就需要输入JSON格式的请求头信息,即Accept:application/json。如图示:

                            (图3)

    结果查看:
    1、TextView:以文本格式显示的数据见图6
    2、Web格式显示返回结果如下图:

                          (图4)
    查看本次请求头,返回HTTP头信息:
    点击右侧Inspector下即能查看到请求的请求数据,返回数据(由于一个URI中可能执行多次HTTP请求,所以,必须在左侧点击相应的请求才能查看相应的信息)
    如本次请求头、返回的HTTP头如下图:

                  (图5)
    如果不指定ResponseFormat,会以什么格式返回呢。?
    将POST结果定义改为:
    [OperationContract]
    [WebInvoke(
    UriTemplate = "Student/{name}/{tel}"
    , Method = "POST"
    ,RequestFormat = WebMessageFormat.Json
    )]
    string UpdateUser(string name, string tel);

    重新编译以后,再次调用结果如下图:

                  (图6)
    测试说明:如果不指定返回格式,默认会以XML格式返回。
    其他几种操作与以上类似,本文就不再赘叙。

  • 相关阅读:
    STL unique使用问题
    自定义使用动态内存的类模板
    自定义类模板 重载<<遇到的问题
    [HDU 1882]--Strange Billboard(位运算+枚举)
    动态规划---最长上升子序列问题(O(nlogn),O(n^2))
    由结构体成员地址计算结构体地址——list_entry()原理详解
    不同意义的new和delete
    new[] 到底做了什么?
    lambda表达式与bind函数
    C++之可调用对象
  • 原文地址:https://www.cnblogs.com/tyb1222/p/2239623.html
Copyright © 2011-2022 走看看