不管是在SwaggerBootstrapUi以前的版本中,还是在SwaggerBootstrapUi的1.8.9版本发布新功能字段注释逐行显示时,很多朋友都会问为啥自己的UI文档上不显示注释.

1.8.9的功能展示如下图:

正常情况下,不管是调试还是文档说明都会显示以上字段说明(除非你没写注解说明)

这里很多朋友碰见的最多的问题主要有2个:

返回Map|Object为何不显示

使用泛型T还是不显示

不显示效果可能如下图:

返回Object不显示字段属性

返回Map为何不显示

为何返回Map不显示,大家都知道Map是Java里面的集合接口,不管是Map本身还是诸如HashMap等子实现,这类数据对于Swagger来说都是未定义结构的数据

Swagger只认识定义好的类-属性,所以接口返回Map,对于Swagger来说是没有字段展示的,这种情况同样适用与返回Object这个顶级父类.这也是为何要适用泛型T的原因

适用泛型T还是不显示

很多朋友会说我已经使用泛型T了,可是文档上还是不显示,这里主要的原因有以下几点

属性定义必须是泛型T,如下:

private T data;//返回属性T

返回T类型的get方法必须是返回T,有时候自动生成get、setter方法插件等会将我们的代码生成返回Object,例如:

public Object getData(){

return data;

}

以上是错误的形式,尽管属性中已经定义为T了,正确的方式:

public T getData(){

return data;

}

最重要的一步,以上步骤完全正确,代码也没有问题,可是ui还是不显示属性,必须在接口层强指定泛型类型(可能是Swagger要求我们写代码要规范吧~~~),如下:

如果以上情况都ok,还是不显示说明,恭喜你发现了SwaggerBootstrapUi的一个bug,欢迎提issue反馈给我,我会搞定它的~~!

另外

一般在完成以上情况后,字段说明都会显示,这里再提醒一下大家,如果已经在泛型中强制约束了返回类型后,就无需在注解@ApiOperation中设置response属性值,比如如下代码

@ApiOperation(value = "查询所有",response=AlarmReponse.class)

@GetMapping("/queryAll")

public Rest> queryAll(){

//more..

}

以上代码返回了泛型Rest类型的List-AlarmResponse集合,但是却ApiOperation注解中加了response属性为AlarmResponse.class,这种情况会造成Ui只显示AlarmReponse类的属性说明,这显然是不对的,因为它把Rest的属性给忽略了,所以:

一般情况下,是不写注解@ApiOperation中的response属性值,能少写就少写,将剩下的交给springfox-swagger这个框架,由它自动解析生成接口返回类型

最后贴一个简单的返回封装类供大家参考(Rest.java)

public class Rest {

@ApiModelProperty(value = "是否成功")

private boolean success=true;

@ApiModelProperty(value = "返回对象")

private T data;

@ApiModelProperty(value = "错误编号")

private Integer errCode;

@ApiModelProperty(value = "错误信息")

private String message;

public boolean isSuccess() {

return success;

}

public void setSuccess(boolean success) {

this.success = success;

}

public T getData() {

return data;

}

public void setData(T data) {

this.data = data;

}

public Integer getErrCode() {

return errCode;

}

public void setErrCode(Integer errCode) {

this.errCode = errCode;

}

public String getMessage() {

return message;

}

public void setMessage(String message) {

this.message = message;

}

}

swagger页面不显示_Swagger字段属性说明不显示相关推荐

  1. 游标(概念、优点、分类、静态游标的使用(显示游标(显示游标的属性、遍历显示游标、显示游标的FOR循环)、隐式游标(隐式游标的属性))、动态游标的使用、静态游标和动态游标的区别、更新或删除当前游标数据

    文章目录 游标 游标概念 游标优点 游标分类 静态游标的使用 显示游标 显示游标的属性 遍历显示游标 显示游标的FOR循环 接收显式游标数据的数据类型(普通变量.记录变量.集合变量) 通过游标更新.删 ...

  2. swagger页面不显示_Swagger原理简介

    Swagger的 官网 上有一个在线的demo,可以在线体验.我们也可以下载其 源码 ,执行distindex.html文件,即可得到和官网一样功能的demo,不需要架设服务器就能使用. 从网络请求中 ...

  3. SAP ABAP ALV控制显示的网格中的每一个字段属性

    字段目录是用来控制ALV显示的网格中每个字段的属性的,比如字段的顺序,对齐方式,可编辑状态,颜色,等等.常用的字段如下: row_pos:默认值为0,可选值为1.2.3,既最大分3级别显示 field ...

  4. Bootstrap table 点击行改变背景色,点击列选中或者取消选中checkbox,根据某个属性隐藏显示某个字段

    //点击选中行,改变选中行的背景颜色 (table).on('click-row.bs.table', function (e, row, element){   $('.success').remo ...

  5. asp怎么循环增加字段和字段对应的值_ASP.NET Core教程「三」实体字段属性

    实体字段属性 再来看看我们的实体类 说明,上面的代码需要引用:using System.ComponentModel.DataAnnotations; Display属性标志这个字段在页面上显示的时候 ...

  6. access字段属性设置下拉列表_可嵌入您系统的.NET 报表控件ActiveReports:带状列表组件...

    葡萄城报表控件ActiveReports V14.0 全面支持 .NET Core平台.同时 ActiveReports的桌面报表设计器UI也全面增强,报表预览方式得以全面优化,报表设计能力得以大幅提 ...

  7. odoo13中的模型类(模型属性、字段属性、字段类型)

    目录 1.模型属性 2.字段类型 3.字段通用参数属性 1.模型属性 模型属性 解释 _name 模型名称.使用点表示法.规范命名带模块命名空间,格式:模块名.xxx.xxx.xxx: _descri ...

  8. 06_MySQL笔记-数据类型-字段属性-存储引擎-字符集-创建新表-数据库建模

    文章目录 数据类型 字段属性 存储引擎 字符集 创建新表 数据库建模 PowerDesigner 建模工具 个人博客 https://blog.csdn.net/cPen_web 数据类型 数据类型 ...

  9. python中choice的用法_Django模型中字段属性choice使用说明

    今天设计models时,用到了choice这个属性,用来限制用户做出选择的范围.比如说性别的选择(男或女). class User(AbstractUser): ... sex = models.Ch ...

最新文章

  1. macos关闭软件更新小红点_MacOS和Windows哪个更适合你?
  2. C#语法精髓之常用的操作符
  3. 关于编译Lambda时报告返回的为void的错误
  4. 前端学习(1675):前端系列实战课程之无缝滚动思路
  5. 给Sublime text2安装Zen Coding插件
  6. python多元函数求极小值_使用遗传算法求二元函数的最小值
  7. 洛谷 P1313 计算系数 —— 水题
  8. android ascii 比较大小写,为什么可以通过ASCII中的字母排序规则来进行字母的大小写转换?...
  9. java的poi技术读取Excel[2003-2007,2010]
  10. 4Python全站之路系列之正则表达式re模块
  11. Shell命令打包Android apk
  12. 腾达老的路由器W311R-V2 升级固件为NH326 -路由器中继
  13. Yii2汉字转拼音类
  14. 金融学习之八——ARCH和GARCH模型应用
  15. 模拟城市5一直显示服务器中断,EA关闭《模拟城市5》非关键功能缓解服务器问题...
  16. LeetCode 股票问题买股票最佳时机ⅠⅡⅢⅣ 含手续费含冷冻期
  17. 【分析】魔兽争霸3的MPQ文件及模型格式分析
  18. Android 应用市场大全 主流市场
  19. matlab输入二项分布函数,matlab实现二项分布
  20. 我的理解之JAVA中的4种访问权限

热门文章

  1. 自制NixieDisplay辉光数码管显示时钟
  2. linux系统装fluent没有界面,linux下Fluent的安装
  3. vue中使用video-player无法播放视频
  4. 会了它+稳定发挥=3000包吃住
  5. 大学计算机算法程序框图,2019高考真题:算法与程序框图,专题解析
  6. NUCLEO STM32H743购买和使用说明
  7. 斯坦福 AI Lab 主任 Chris Manning:人工智能研究的最新趋势和挑战
  8. 第三章 part3 几个小知识点
  9. PCL 实战记录 (一)
  10. pip 安装protobuf_Python3.6安装protobuf模块+将proto文件转换成pb2.py文件