zoukankan      html  css  js  c++  java
  • 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属性修饰的时候,在生成的文档中就可以看到返回类型拉。

  • 相关阅读:
    window.setInterval
    用gcc/g++编译winsock程序
    Yii 三表关联 角色表、角色权限连接表、权限表
    访问CGI程序时不添加 /cgi-bin/ 目录也可访问
    Linux 目录递归赋权,解决 Linux权限不够
    Linux 下用C语言连接 sqlite
    ORACLE中添加删除主键
    Linux 杀死进程
    Oracle 查询重复数据
    exlipse php 插件安装地址
  • 原文地址:https://www.cnblogs.com/liangxiarong/p/7768431.html
Copyright © 2011-2022 走看看