前言

一般对外提供API,都会统一一个返回类型,比如所有的接口都统一返回HttpResponseMessage。这样当我们在方法上添加///注释时,是无法清楚的知道都返回字段都又那些以及它们的数据类型是什么。如下图所生成的文档所示:

从图中,我们看到文档只有输入参数的说明,而对于返回的类型是什么,有那些字段都是不清楚的。这对于调用第三方调用是很不友好的。

在实际项目中,偶然发现,Swashbuckle 提供一个返回类型属性,很好的解决了这个问题。

如代码所示:

 /// </summary>
public class UserController : BaseController
{
/// <summary>
/// 获取用户信息
/// </summary>
/// <param name="model">获取用户信息模型</param>
/// <returns></returns>
[HttpPost]
//添加方法修饰属性返回类型说明
[SwaggerResponse(HttpStatusCode.OK, Type = typeof(ResultInfo<UserInfo>))]
public HttpResponseMessage GetUserInfo([FromBody]GetUserInfoModel model)
{
ResultInfo<UserInfo> result = new ResultInfo<UserInfo>();
try
{
UserInfo user = new UserInfo();
user.Name = "Peter";
user.Phone = model.phone;
user.Email = "itwheels@163.com";
result.Data = user;
}
catch (Exception ex)
{
result.Status = "FAIL";
result.Msg = ex.Message;
} return toJson(result);
}
}

当我们给方法添加SwaggerResponse属性修饰的时候,在生成的文档中就可以看到返回类型拉。

IT轮子系列(三)——如何给返回类型添加注释——Swagger的使用(二)的更多相关文章

  1. C# 如何给 ValueTuple 返回值添加注释

    在 C# 7.0 可以在一个方法的返回,返回多个参数,通过 ValueTuple 的方法,但是和单个参数返回不同的是,如何对多个参数返回每个参数进行单独的注释? 如使用下面的代码,我尝试在一个方法返回 ...

  2. 造轮子系列(三): 一个简单快速的html虚拟语法树(AST)解析器

    前言 虚拟语法树(Abstract Syntax Tree, AST)是解释器/编译器进行语法分析的基础, 也是众多前端编译工具的基础工具, 比如webpack, postcss, less等. 对于 ...

  3. IT轮子系列(三)——如何显示方法名——Swagger的使用(三)

    前言 在上一篇文章IT轮子系列(三)——如何给返回类型添加注释——Swagger的使用(二) 介绍如何使用swashbuckle的时候忽略了一个问题,就是默认创建的API项目在生成文档的时候是没有显示 ...

  4. mybatis入门系列三之类型转换器

    mybatis入门系列三之类型转换器 类型转换器介绍 mybatis作为一个ORM框架,要求java中的对象与数据库中的表记录应该对应 因此java类名-数据库表名,java类属性名-数据库表字段名, ...

  5. asp.net core系列 38 WebAPI 返回类型与响应格式--必备

    一.返回类型 ASP.NET Core 提供以下 Web API Action方法返回类型选项,以及说明每种返回类型的最佳适用情况: (1) 固定类型 (2) IActionResult (3) Ac ...

  6. Effective Java 第三版——47. 优先使用Collection而不是Stream来作为方法的返回类型

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  7. 大厂面试题系列:重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分

    面试题:重载(Overload)和重写(Override)的区别.重载的方法能否根据返回类型进行区分 面试官考察点猜想 这道题纯粹只是考查基础理论知识,对实际开发工作中没有太多的指导意义,毕竟编辑器都 ...

  8. IT轮子系列(六)——Excel上传与解析,一套代码解决所有Excel业务上传,你Get到了吗

    前言 在日常开发当中,excel的上传与解析是很常见的.根据业务不同,解析的数据模型也都不一样.不同的数据模型也就需要不同的校验逻辑,这往往需要写多套的代码进行字段的检验,如必填项,数据格式.为了避免 ...

  9. [C#] async 的三大返回类型

    async 的三大返回类型 序 博主简单数了下自己发布过的异步文章,已经断断续续 8 篇了,这次我想以 async 的返回类型为例,单独谈谈. 异步方法具有三个可让开发人员选择的返回类型:Task&l ...

随机推荐

  1. Linux系统编程-----进程fork()

    在开始之前,我们先来了解一些基本的概念: 1. 程序, 没有在运行的可执行文件 进程, 运行中的程序 2. 进程调度的方法: 按时间片轮转 先来先服务 短时间优先 按优先级别 3. 进程的状态: 就绪 ...

  2. 软考下午题详解---uml图

    在上篇博客中,小编主要简单的对软考下午题当中的数据流图设计进行了一系列总结,今天我们继续来看软考下午题当中大题部分,uml图的相关知识,在我们学习的过程中,我们也已经接触过,西安交大刘惠老师讲解过um ...

  3. leetcode:程序员面试技巧

    起因 写在开头,脑袋铁定秀逗了,历时20多天,刷完了leetcode上面151道题目(当然很多是google的),感觉自己对算法和数据结构算是入门了,但仍然还有很多不清楚的地方,于是有了对于每道题目写 ...

  4. Android的PopupWindow使用android学习之旅(四十三)

    PopupWindow简介 PopupWindow是一个类似dialog的控件,可以接受任何的view作为下拉列表显示. 用法 代码展示 package peng.liu.test; import a ...

  5. java实现:将一个数逆序输出

    前面我们用C语言实现过这个程序,其实java也一样的,很多步骤跟C差不多,但是有些接口和特性可能不同: import java.util.Scanner;//要使用scanner这个类,就需要导入一个 ...

  6. Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程

    Android实训案例(九)--答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程 项目也是偷师的,决心研究一下数据库.所以写的还是很详细的,各位看官,耐着性子看完,实现结果不重要 ...

  7. Eclipse快捷键指南

    Eclipse快捷键指南 Eclipse快捷键,熟悉快捷键可以帮助开发事半功倍,节省更多的时间来用于做有意义的事情.Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ct ...

  8. 开源摄影机:Axiom Camera

    一般情况下只有软件才有开源这个概念.这会儿发现了个很厉害的开源的产品:开源摄影机. 我还是第一次听说摄影机也可以开源.于是去该产品的官方网站了解了一下相关信息. 官网:http://axiom.ape ...

  9. [SqlServer]如何向数据库插入带有单引号(')的字符串

    今天在做一个复制功能的时候,发现存在单引号字符串与INSERT INTO 语句的' '产生冲突. 在网络上找到了一个这样功能 如何向数据库插入带有单引号(')的字符串 用SQL语句往数据库某字段(字符 ...

  10. Android中的Message机制

    对于Android的Message机制主要涉及到三个主要的类,分别是Handler.Message.Looper:首先对每个类做一个简单介绍:然后再介绍所谓的Android的Message机制是如何实 ...