Web API 接口测试工具:WebApiTestClient

  • WebApiTestClient是一个开源组件,开源地址:https://github.com/yaohuang/WebApiTestClient
  • WebApiTestClient组件的作用
    • 将Web API的接口展示在浏览器中,可以通过http://localhost:61218/help这样的地址访问help页面,就能看的这个服务中所有的API接口以及接口的详细说明
    • 需要在API中的类、方法、参数、返回值使用XML注释进行说明
    • 可以修改Http请求头文件Head请求体Body里面的参数,指定发生Http请求的特性,比如修改ContentType指定的参数
  • 通过Nuget引入组件
  • 引入成功后,将向项目里面添加一些主要文件:
    • Scripts\WebApiTestClient.js
    • Areas\HelpPage\TestClient.css
    • Areas\HelpPage\Views\Help\DisplayTemplates\TestClientDialogs.cshtml
    • Areas\HelpPage\Views\Help\DisplayTemplates\TestClientReferences.cshtml
  • 修改Api.cshtml文件(Areas\HelpPage\Views\Help\Api.cshtml)
1 @Html.DisplayForModel("TestClientDialogs")
2 @section scripts{
3     <link type="text/css" href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
4     @Html.DisplayForModel("TestClientReferences")
5 }
  • 配置读取注释的xml路径:在项目上面点右键→属性→生成标签页配置xml的路径
  • 在xml的读取路径:在下图的HelpPageConfig.cs(Areas\HelpPage\App_Start\HelpPageConfig.cs)里面配置,指定xml的读取路径
1 public static void Register(HttpConfiguration config){
2     config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/WebApiTestClient.XML")));
3 }
  • 准备测试接口
/// <summary>
/// 测试API Test Client
/// </summary>
public class TestChargingDataController : ApiController{
    /// <summary>
    /// 得到所有数据
    /// </summary>
    /// <returns>返回数据</returns>
    [HttpGet]
    public string GetAllChargingData(){
        return "ChargingData";
    }
    /// <summary>
    /// 得到当前Id的所有数据
    /// </summary>
    /// <param name="id">参数Id</param>
    /// <returns>返回数据</returns>
    [HttpGet]
    public string GetAllChargingData(string id){
        return "ChargingData" + id ;
    }
    /// <summary>
    /// Post提交
    /// </summary>
    /// <param name="oData">对象</param>
    /// <returns>提交是否成功</returns>
    [HttpPost]
    public bool Post(TB_CHARGING oData){
        return true;
    }
    /// <summary>
    /// Put请求
    /// </summary>
    /// <param name="oData">对象</param>
    /// <returns>提交是否成功</returns>
    [HttpPut]
    public bool Put(TB_CHARGING oData){
        return true;
    }
    /// <summary>
    /// delete操作
    /// </summary>
    /// <param name="id">对象id</param>
    /// <returns>操作是否成功</returns>
    [HttpDelete]
    public bool Delete(string id){
        return true;
    }
}
/// <summary>
/// 充电对象实体
/// </summary>
public class TB_CHARGING{
    /// <summary>
    /// 主键Id
    /// </summary>
    public string ID { get; set; }
    /// <summary>
    /// 充电设备名称
    /// </summary>
    public string NAME { get; set; }
    /// <summary>
    /// 充电设备描述
    /// </summary>
    public string DES { get; set; }
    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime CREATETIME { get; set; }
}
  • 接口列表
  • 查看API接口详细信息,比如打开GET api/TestChargingData
  • 点击Test API按钮,在点击Send按钮得到第二张图片(发生get请求之后的结果)
  • 相对应的我们打开GET api/TestChargingData/{id},此时可以输入id参数
  • 对于POST api/TestChargingData请求,需要上传对象,在post请求上如果需要执行参数长度和类型,可以通过content-lengthcontent-type来指定;并且具体的参数可以指定不同格式显示,比如下图的application/json,或者可以选择application/xml
 
 
 

 

posted @ 2020-08-15 17:38  陨落的星尘  阅读(437)  评论(0编辑  收藏  举报