zoukankan      html  css  js  c++  java
  • 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引入组件
    • 引入成功后,将向项目里面添加一些主要文件:
      • ScriptsWebApiTestClient.js
      • AreasHelpPageTestClient.css
      • AreasHelpPageViewsHelpDisplayTemplatesTestClientDialogs.cshtml
      • AreasHelpPageViewsHelpDisplayTemplatesTestClientReferences.cshtml
    • 修改Api.cshtml文件(AreasHelpPageViewsHelpApi.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(AreasHelpPageApp_StartHelpPageConfig.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
     
     
     
  • 相关阅读:
    【canvas】--------------处理canvas物理像素模糊问题-------------【劉】
    【js】--------------判断一个对象是否有某个属性-------------【劉】
    【vue】--------------vue+element-ui实现分页效果-------------【劉】
    【html】--------------iframe-------------【劉】
    【劉】---------------单页面和多页面的区别
    【react】--------------flux-------------【劉】
    【vue】--------------vue路由懒加载-------------【劉】
    【git】--------------git基本指令-------------【劉】
    【git】--------------git基本介绍-------------【劉】
    datatable 分组
  • 原文地址:https://www.cnblogs.com/My-Sun-Shine/p/13509587.html
Copyright © 2011-2022 走看看