中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解C# WebApi 接口測試工具:WebApiTestClient

發布時間:2020-10-20 14:41:56 來源:腳本之家 閱讀:187 作者:懶得安分 欄目:編程語言

前言:這兩天在整WebApi的服務,由于調用方是Android客戶端,Android開發人員也不懂C#語法,API里面的接口也不能直接給他們看,沒辦法,只有整個詳細一點的文檔唄。由于接口個數有點多,每個接口都要詳細說明接口作用、參數類型、返回值類型等等,寫著寫著把博主惹毛了,難道這種文檔非要自己寫不成?難道網上沒有這種文檔的展示工具嗎?帶著這兩個問題,在網絡世界里尋找,網絡世界很奇妙,只要你用心,總能找到或多或少的幫助!這不就被博主找到了這個好用的組件:WebApiTestClient。它對于接口的作用、參數作用以及類型、返回值說明等等都能很好展現,并且提供測試調用的功能,輸入測試參數發送請求,就能得到相應的返回結果。哇塞,這一系列可視化的效果不正是博主需要的嗎,還寫什么文檔,趕緊用起來!

一、WebApiTestClient介紹

1、WebApiTestClient組件作用主要有以下幾個:

(1)、將WebApi的接口放到了瀏覽器里面,以可視化的方式展現出來,比如我們通過http://localhost:8080/Help這個地址就能在瀏覽器里面看到這個服務里面所有的API接口以及接口的詳細說明,省去了我們手寫接口文檔的麻煩。

(2)、能夠詳細查看API的類說明、方法說明、參數說明、返回值說明。只需要我們在定義方法時候加上/// <summary>這種詳細注釋即可,組件自動讀取注釋里面的內容展現在界面上面。

(3)、可以修改http請求頭文件Head和請求體Body里面的參數,指定發送http請求的特性,比如指定我們最常見的contentType指示參數的類型。

(4)、組件擁有測試接口的功能,用過Soup UI的朋友應該知道,通過Soup UI能夠方便測試WebService參數以及返回值。我們的WebApiTestClient也可以實現類似的功能,直接通過頁面上的測試按鈕,就能測試接口。

2、WebApiTestClient是一個開源組件。開源地址:https://github.com/yaohuang/WebApiTestClient

二、WebApiTestClient展示

第一印象:接口列表。

詳解C# WebApi 接口測試工具:WebApiTestClient

點擊某一個接口查看接口詳細。例如本文查看Get請求的無參方法,右下角有按鈕可以測試接口。

詳解C# WebApi 接口測試工具:WebApiTestClient

點擊“Test API”按鈕

詳解C# WebApi 接口測試工具:WebApiTestClient

點擊Send發送請求

詳解C# WebApi 接口測試工具:WebApiTestClient

第二個有參數的接口

詳解C# WebApi 接口測試工具:WebApiTestClient

手動輸入參數,得到返回結果

詳解C# WebApi 接口測試工具:WebApiTestClient

如果參數的類型是對象,可以直接解析class定義上面的/// <summary>標注,顯示如下

詳解C# WebApi 接口測試工具:WebApiTestClient

由于是post請求,如果需要執行參數長度和類型,可以通過content-length和content-type來指定。并且具體的參數可以指定不同格式顯示,比如下圖的application/json和application/xml

詳解C# WebApi 接口測試工具:WebApiTestClient

詳解C# WebApi 接口測試工具:WebApiTestClient

得到返回值

詳解C# WebApi 接口測試工具:WebApiTestClient

三、WebApiTestClient使用

1、如何引入組件

首先,我們需要定義一個API項目

詳解C# WebApi 接口測試工具:WebApiTestClient

然后通過Nuget引入組件,如下圖。記住選下圖中的第三個。

詳解C# WebApi 接口測試工具:WebApiTestClient

引入成功后,將向項目里面添加一些主要文件:

  1. Scripts\WebApiTestClient.js
  2. Areas\HelpPage\TestClient.css
  3. Areas\HelpPage\Views\Help\DisplayTemplates\TestClientDialogs.cshtml
  4. Areas\HelpPage\Views\Help\DisplayTemplates\TestClientReferences.cshtml

2、如何使用組件

1、修改Api.cshtml文件

通過上述步驟,就能將組件WebAPITestClient引入進來。下面我們只需要做一件事:打開文件 (根據 Areas\HelpPage\Views\Help) Api.cshtml 并添加以下內容:

  1. @Html.DisplayForModel("TestClientDialogs")
  2. @Html.DisplayForModel("TestClientReferences")

添加后Api.cshtml文件的代碼如下

@using System.Web.Http
@using WebApiTestClient.Areas.HelpPage.Models
@model HelpPageApiModel

@{
  var description = Model.ApiDescription;
  ViewBag.Title = description.HttpMethod.Method + " " + description.RelativePath;
}

<link type="text/css" href="~/Areas/HelpPage/HelpPage.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" />
<div id="body" class="help-page">
  <section class="featured">
    <div class="content-wrapper">
      <p>
        @Html.ActionLink("Help Page Home", "Index")
      </p>
    </div>
  </section>
  <section class="content-wrapper main-content clear-fix">
    @Html.DisplayForModel()
  </section>
</div>

@Html.DisplayForModel("TestClientDialogs")
@section Scripts{
  <link href="~/Areas/HelpPage/HelpPage.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" />
  @Html.DisplayForModel("TestClientReferences")
}

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; }
  }

至此,組件就搭完了,剩下的就是運行了。我們在url里面敲地址http://localhost:8080/Help/Index或者http://localhost:8080/Help就能得到上述效果。還不趕緊試試~~

四、總結

上面簡單總結了下WebApiTestClient的使用,如果你的WebApi也是一個單獨的服務,可以整起來當幫助文檔用,省得你自己寫。哈哈,不要謝我,請叫我紅領巾。歡迎推薦。Demo下載 密碼: u13g

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉沽区| 嘉义县| 丹巴县| 漠河县| 余干县| 常熟市| 且末县| 吴忠市| 赣州市| 文化| 政和县| 彰武县| 城固县| 胶南市| 呼和浩特市| 张掖市| 视频| 山阴县| 修水县| 井陉县| 策勒县| 涿鹿县| 遵化市| 大兴区| 高邑县| 临夏市| 田阳县| 郎溪县| 衢州市| 安图县| 武强县| 泸定县| 冕宁县| 临湘市| 中牟县| 农安县| 开鲁县| 通化市| 双桥区| 英超| 岳阳市|