日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【WEB API项目实战干货系列】- 接口文档与在线测试(二)

發(fā)布時間:2023/12/4 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【WEB API项目实战干货系列】- 接口文档与在线测试(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

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

概要圖

?

GET API

添加產(chǎn)品API:

刪除產(chǎn)品 API

接下來我們動手來實現(xiàn)上面的功能

給所有API添加注釋信息

代碼如下

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

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

?

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

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

添加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. 復(fù)制WebAPI項目中的SwaggerUI文件夾, 這里是幫助文檔的頁面處理文件.

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

?

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

?

總結(jié):

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

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




文章轉(zhuǎn)載出自:http://www.cnblogs.com/Flyear/p/4870373.html?

總結(jié)

以上是生活随笔為你收集整理的【WEB API项目实战干货系列】- 接口文档与在线测试(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。