详解C# WebApi 接口测试工具:WebApiTestClient

2020-01-05 09:21:47于丽

2、配置读取注释的xml路径

其实,通过上面的步骤,我们的项目已经可以跑起来了,也可以调用接口测试。但是,还不能读取/// <summary>注释里面的东西。需要做如下配置才行。

(1)配置生成xml的路径。我们在项目上面点右键→属性→生成标签页配置xml的路径

C#,WebApi,接口测试工具,WebApiTestClient

(2)在xml的读取路径:在下图的HelpPageConfig.cs里面配置一句话,指定xml的读取路径。

C#,WebApi,接口测试工具,WebApiTestClient

这句代码如下:

 

复制代码 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; }
  }