<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【WEB API項目實戰干貨系列】- 接口文檔與在線測試(二)

      上一篇: 【WEB API項目實戰干貨系列】- Web API 2入門(一)

      這一篇我們主要介紹如何做API幫助文檔,給API的調用人員介紹各個 API的功能, 輸入參數,輸出參數, 以及在線測試 API功能(這個也是方便我們自己開發調試)

      我們先來看看我們的API最終幫助文檔及在線測試最終達到的效果:

      概要圖

      image

      image

       

      GET API

      image

      添加產品API:

      image

      刪除產品 API

      image

      接下來我們動手來實現上面的功能

      給所有API添加注釋信息

      代碼如下

      [RoutePrefix("api/products")]
          public class ProductController : ApiController
          {
              /// <summary>
              /// 產品分頁數據獲取
              /// </summary>
              /// <returns></returns>
              [HttpGet, Route("product/getList")]
              public Page<Product> GetProductList()
              {
                  throw new NotImplementedException();
              }
      
              /// <summary>
              /// 獲取單個產品
              /// </summary>
              /// <param name="productId"></param>
              /// <returns></returns>
              [HttpGet, Route("product/get")]
              public Product GetProduct(Guid productId)
              {
                  throw new NotImplementedException();
              }
      
              /// <summary>
              /// 添加產品
              /// </summary>
              /// <param name="product"></param>
              /// <returns></returns>
              [HttpPost, Route("product/add")]
              public Guid AddProduct(Product product)
              {
                  throw new NotImplementedException();
              }
      
              /// <summary>
              /// 更新產品
              /// </summary>
              /// <param name="productId"></param>
              /// <param name="product"></param>
              [HttpPost, Route("product/update")]
              public void UpdateProduct(Guid productId, Product product)
              {
                  throw new NotImplementedException();
              }
      
              /// <summary>
              /// 刪除產品
              /// </summary>
              /// <param name="productId"></param>
              [HttpDelete, Route("product/delete")]
              public void DeleteProduct(Guid productId)
              {
                  throw new NotImplementedException();
              }
          }

      我們上圖中顯示的api幫助信息,全部從我們的注釋信息中提取,所以這里的API注釋信息必不可少.

       

      添加Swagger.Net組件(自定義修改版本, 官方已多年不更新,只能自己更新了)

      在項目中加入Swagger.Net組件, 由于這個已經在官方的版本上做了很多的更新,大家實踐的過程中,直接從項目代碼中復制(必要的時候可以做成Nuget組件發布后大家使用)

      添加Swagger.NET步驟:

      1. 在項目中引入Swagger.Net Project.

      2. 在Web API項目的App_Start下面添加SwaggerNet.cs

      代碼如下

      [assembly: WebActivatorEx.PreApplicationStartMethod(typeof(SwaggerNet), "PreStart")]
      [assembly: WebActivatorEx.PostApplicationStartMethod(typeof(SwaggerNet), "PostStart")]
      namespace Niusys.WebAPI.App_Start
      {
          public static class SwaggerNet
          {
              public static void PreStart()
              {
                  RouteTable.Routes.MapHttpRoute(
                      name: "SwaggerApi",
                      routeTemplate: "api/docs/{controller}/{action}",
                      defaults: new { swagger = true }
                  );
              }
      
              public static void PostStart()
              {
                  var config = GlobalConfiguration.Configuration;
                  config.Filters.Add(new SwaggerActionFilter());
              }
          }
      }

      其主要是注冊api文檔的請求路由及攔截文檔的請求.

      3. 復制WebAPI項目中的SwaggerUI文件夾, 這里是幫助文檔的頁面處理文件.

      4. WebAPI項目啟用XML文檔生成

      image

       

      這個時候就可以啟動項目,在URL中輸入swaggerui(http://localhost:14527/swaggerui/)目錄,就可以訪問我們的API幫助文檔系統及在線測試了。

       

      總結:

      這里幫助文檔的原理是通過我們在代碼中的XML注釋來實現的,其原理也是在請求到api/doc的時候,這個時候去取對應controler/action的xml幫助文檔,讓后做顯示.

      其測試是完全用的其內部瘋轉的jQuery Ajax來做的測試, 跟界面做了高度集成, 完全滿足我們項目的需求。

       

      本篇代碼: 代碼下載(代碼托管在CSDN Code)

      posted @ 2015-10-11 23:06  DukeCheng  閱讀(22451)  評論(44)    收藏  舉報
      主站蜘蛛池模板: 中文字幕在线国产精品| 精品中文人妻中文字幕| 亚洲夜色噜噜av在线观看| 国产按头口爆吞精在线视频| 东乌| 亚洲区中文字幕日韩精品| 廉江市| 中文人妻av高清一区二区 | 欧美性猛交xxxx乱大交丰满| 不卡免费一区二区日韩av| 欧美高清狂热视频60一70| 亚洲成人av在线资源| 国产成人高清亚洲综合| 综合偷自拍亚洲乱中文字幕| 亚洲国产精品久久久天堂麻豆宅男| 99国产午夜福利在线观看| 欧美成人h精品网站| 亚洲av午夜福利大精品| 精品一区二区免费不卡| 亚洲国产av无码综合原创国产| 国产精品一区二区插插插| 精品无码成人片一区二区| 久久精品国产99久久久古代| 中文字幕 日韩 人妻 无码| 成人国产精品一区二区网站公司| 国产精品无码无卡在线播放| 看亚洲黄色不在线网占| 国产午夜一区二区在线观看 | 成人网站国产在线视频内射视频 | 国产亚洲av产精品亚洲| 镇坪县| 国产网友愉拍精品视频手机| 日本一区二区三区免费播放视频站| 韩国青草无码自慰直播专区| 白白发布视频一区二区视频| 人妻伦理在线一二三区| 国产亚洲精品久久77777| 精品无码久久久久久尤物| 日韩有码国产精品一区| 夜爽8888视频在线观看| 亚洲综合无码一区二区|