IT輪子系列(三)——如何給返回類型添加注釋——Swagger的使用(二)


前言

一般對外提供API,都會統一一個返回類型,比如所有的接口都統一返回HttpResponseMessage。這樣當我們在方法上添加///注釋時,是無法清楚的知道都返回字段都又那些以及它們的數據類型是什么。如下圖所生成的文檔所示:

從圖中,我們看到文檔只有輸入參數的說明,而對於返回的類型是什么,有那些字段都是不清楚的。這對於調用第三方調用是很不友好的。

在實際項目中,偶然發現,Swashbuckle 提供一個返回類型屬性,很好的解決了這個問題。

如代碼所示:

 1 /// </summary>
 2     public class UserController : BaseController
 3     {
 4         /// <summary>
 5         /// 獲取用戶信息
 6         /// </summary>
 7         /// <param name="model">獲取用戶信息模型</param>
 8         /// <returns></returns>
 9         [HttpPost]
10         //添加方法修飾屬性返回類型說明
11         [SwaggerResponse(HttpStatusCode.OK, Type = typeof(ResultInfo<UserInfo>))]
12         public HttpResponseMessage GetUserInfo([FromBody]GetUserInfoModel model)
13         {
14             ResultInfo<UserInfo> result = new ResultInfo<UserInfo>();
15             try
16             {
17                 UserInfo user = new UserInfo();
18                 user.Name = "Peter";
19                 user.Phone = model.phone;
20                 user.Email = "itwheels@163.com";
21                 result.Data = user;
22             }
23             catch (Exception ex)
24             {
25                 result.Status = "FAIL";
26                 result.Msg = ex.Message;
27             }         
28             
29             return toJson(result);
30         }
31     }
View Code

當我們給方法添加SwaggerResponse屬性修飾的時候,在生成的文檔中就可以看到返回類型拉。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM