亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解C# WebApi 接口測(cè)試工具:WebApiTestClient

 更新時(shí)間:2018年07月05日 09:16:53   作者:懶得安分  
這篇文章主要介紹了詳解C# WebApi 接口測(cè)試工具:WebApiTestClient,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

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

一、WebApiTestClient介紹

1、WebApiTestClient組件作用主要有以下幾個(gè):

(1)、將WebApi的接口放到了瀏覽器里面,以可視化的方式展現(xiàn)出來(lái),比如我們通過(guò)http://localhost:8080/Help這個(gè)地址就能在瀏覽器里面看到這個(gè)服務(wù)里面所有的API接口以及接口的詳細(xì)說(shuō)明,省去了我們手寫(xiě)接口文檔的麻煩。

(2)、能夠詳細(xì)查看API的類(lèi)說(shuō)明、方法說(shuō)明、參數(shù)說(shuō)明、返回值說(shuō)明。只需要我們?cè)诙x方法時(shí)候加上/// <summary>這種詳細(xì)注釋即可,組件自動(dòng)讀取注釋里面的內(nèi)容展現(xiàn)在界面上面。

(3)、可以修改http請(qǐng)求頭文件Head和請(qǐng)求體Body里面的參數(shù),指定發(fā)送http請(qǐng)求的特性,比如指定我們最常見(jiàn)的contentType指示參數(shù)的類(lèi)型。

(4)、組件擁有測(cè)試接口的功能,用過(guò)Soup UI的朋友應(yīng)該知道,通過(guò)Soup UI能夠方便測(cè)試WebService參數(shù)以及返回值。我們的WebApiTestClient也可以實(shí)現(xiàn)類(lèi)似的功能,直接通過(guò)頁(yè)面上的測(cè)試按鈕,就能測(cè)試接口。

2、WebApiTestClient是一個(gè)開(kāi)源組件。開(kāi)源地址:https://github.com/yaohuang/WebApiTestClient

二、WebApiTestClient展示

第一印象:接口列表。

點(diǎn)擊某一個(gè)接口查看接口詳細(xì)。例如本文查看Get請(qǐng)求的無(wú)參方法,右下角有按鈕可以測(cè)試接口。

點(diǎn)擊“Test API”按鈕

點(diǎn)擊Send發(fā)送請(qǐng)求

第二個(gè)有參數(shù)的接口

手動(dòng)輸入?yún)?shù),得到返回結(jié)果

如果參數(shù)的類(lèi)型是對(duì)象,可以直接解析class定義上面的/// <summary>標(biāo)注,顯示如下

由于是post請(qǐng)求,如果需要執(zhí)行參數(shù)長(zhǎng)度和類(lèi)型,可以通過(guò)content-length和content-type來(lái)指定。并且具體的參數(shù)可以指定不同格式顯示,比如下圖的application/json和application/xml

得到返回值

三、WebApiTestClient使用

1、如何引入組件

首先,我們需要定義一個(gè)API項(xiàng)目

然后通過(guò)Nuget引入組件,如下圖。記住選下圖中的第三個(gè)。

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

  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文件

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

  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路徑

其實(shí),通過(guò)上面的步驟,我們的項(xiàng)目已經(jīng)可以跑起來(lái)了,也可以調(diào)用接口測(cè)試。但是,還不能讀取/// <summary>注釋里面的東西。需要做如下配置才行。

(1)配置生成xml的路徑。我們?cè)陧?xiàng)目上面點(diǎn)右鍵→屬性→生成標(biāo)簽頁(yè)配置xml的路徑

(2)在xml的讀取路徑:在下圖的HelpPageConfig.cs里面配置一句話,指定xml的讀取路徑。

這句代碼如下:

復(fù)制代碼 代碼如下:
config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/WebApiTestClient.XML")));

3、測(cè)試接口

/// <summary>
  /// 測(cè)試API Test Client
  /// </summary>
  public class TestChargingDataController : ApiController
  {
    /// <summary>
    /// 得到所有數(shù)據(jù)
    /// </summary>
    /// <returns>返回?cái)?shù)據(jù)</returns>
    [HttpGet]
    public string GetAllChargingData()
    {
      return "ChargingData";
    }

    /// <summary>
    /// 得到當(dāng)前Id的所有數(shù)據(jù)
    /// </summary>
    /// <param name="id">參數(shù)Id</param>
    /// <returns>返回?cái)?shù)據(jù)</returns>
    [HttpGet]
    public string GetAllChargingData(string id)
    {
      return "ChargingData" + id ;
    }

    /// <summary>
    /// Post提交
    /// </summary>
    /// <param name="oData">對(duì)象</param>
    /// <returns>提交是否成功</returns>
    [HttpPost]
    public bool Post(TB_CHARGING oData)
    {
      return true;
    }

    /// <summary>
    /// Put請(qǐng)求
    /// </summary>
    /// <param name="oData">對(duì)象</param>
    /// <returns>提交是否成功</returns>
    [HttpPut]
    public bool Put(TB_CHARGING oData)
    {
      return true;
    }

    /// <summary>
    /// delete操作
    /// </summary>
    /// <param name="id">對(duì)象id</param>
    /// <returns>操作是否成功</returns>
    [HttpDelete]
    public bool Delete(string id)
    {
      return true;
    }
  }

  /// <summary>
  /// 充電對(duì)象實(shí)體
  /// </summary>
  public class TB_CHARGING
  {
    /// <summary>
    /// 主鍵Id
    /// </summary>
    public string ID { get; set; }

    /// <summary>
    /// 充電設(shè)備名稱(chēng)
    /// </summary>
    public string NAME { get; set; }

    /// <summary>
    /// 充電設(shè)備描述
    /// </summary>
    public string DES { get; set; }

    /// <summary>
    /// 創(chuàng)建時(shí)間
    /// </summary>
    public DateTime CREATETIME { get; set; }
  }

至此,組件就搭完了,剩下的就是運(yùn)行了。我們?cè)趗rl里面敲地址http://localhost:8080/Help/Index或者h(yuǎn)ttp://localhost:8080/Help就能得到上述效果。還不趕緊試試~~

四、總結(jié)

上面簡(jiǎn)單總結(jié)了下WebApiTestClient的使用,如果你的WebApi也是一個(gè)單獨(dú)的服務(wù),可以整起來(lái)當(dāng)幫助文檔用,省得你自己寫(xiě)。哈哈,不要謝我,請(qǐng)叫我紅領(lǐng)巾。歡迎推薦。Demo下載 密碼: u13g

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#基礎(chǔ)知識(shí)之字符串和正則表達(dá)式

    C#基礎(chǔ)知識(shí)之字符串和正則表達(dá)式

    目前為止許多編程語(yǔ)言和工具都包含對(duì)正則表達(dá)式的支持,C#也不例外,下面這篇文章主要給大家介紹了關(guān)于C#基礎(chǔ)知識(shí)之字符串和正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • c# xml轉(zhuǎn)word的實(shí)現(xiàn)示例

    c# xml轉(zhuǎn)word的實(shí)現(xiàn)示例

    這篇文章主要介紹了c# xml轉(zhuǎn)word的實(shí)現(xiàn)示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-04-04
  • C#的通用DbHelper類(lèi)(支持?jǐn)?shù)據(jù)連接池)示例詳解

    C#的通用DbHelper類(lèi)(支持?jǐn)?shù)據(jù)連接池)示例詳解

    這篇文章主要介紹了C#的通用DbHelper類(lèi)支持?jǐn)?shù)據(jù)連接池,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • C# LINQ to XML應(yīng)用介紹

    C# LINQ to XML應(yīng)用介紹

    .Net又引入了LINQ,于是LINQ to XML也就應(yīng)運(yùn)而生,所以在.Net中,不僅可以用W3C XML DOM標(biāo)準(zhǔn),還可以使用LINQ to XML來(lái)操作XML文檔。下面就來(lái)簡(jiǎn)單介紹一下如何使用LINQ to XML
    2012-11-11
  • 基于C#?wpf實(shí)現(xiàn)桌面放大鏡

    基于C#?wpf實(shí)現(xiàn)桌面放大鏡

    做桌面截屏功能時(shí)需要放大鏡,顯示鼠標(biāo)所在位置的放大圖像,所以本文為大家介紹了如何基于C#?wpf實(shí)現(xiàn)桌面放大鏡功能,有需要的小伙伴可以參考下
    2023-09-09
  • C#如何綁定多個(gè)按鈕到同一個(gè)事件

    C#如何綁定多個(gè)按鈕到同一個(gè)事件

    這篇文章主要介紹了C#如何綁定多個(gè)按鈕到同一個(gè)事件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 深入多線程之:用Wait與Pulse模擬一些同步構(gòu)造的應(yīng)用詳解

    深入多線程之:用Wait與Pulse模擬一些同步構(gòu)造的應(yīng)用詳解

    本篇文章是對(duì)用Wait與Pulse模擬一些同步構(gòu)造的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C#實(shí)現(xiàn)讀寫(xiě)CSV文件的方法詳解

    C#實(shí)現(xiàn)讀寫(xiě)CSV文件的方法詳解

    項(xiàng)目中經(jīng)常遇到CSV文件的讀寫(xiě)需求,其中的難點(diǎn)主要是CSV文件的解析。本文會(huì)介紹CsvHelper、TextFieldParser、正則表達(dá)式三種解析CSV文件的方法,需要的可以參考一下
    2022-06-06
  • C#基于WebBrowser獲取cookie的實(shí)現(xiàn)方法

    C#基于WebBrowser獲取cookie的實(shí)現(xiàn)方法

    這篇文章主要介紹了C#基于WebBrowser獲取cookie的實(shí)現(xiàn)方法,實(shí)例分析了C#基于WebBrowser簡(jiǎn)單讀取瀏覽谷歌網(wǎng)站cookie的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-11-11
  • C# WinForm自動(dòng)更新程序之文件上傳操作詳解

    C# WinForm自動(dòng)更新程序之文件上傳操作詳解

    這篇文章主要為大家詳細(xì)介紹了C# WinForm自動(dòng)更新程序中文件上傳操作,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下
    2022-10-10

最新評(píng)論