当前位置: 首页 > 科技观察

Swagger中配置了@ApiModelProperty的allowableValues属性但不显示的问题

时间:2023-03-12 19:20:35 科技观察

@ApiModelProperty的allowableValues属性在Swagger中配置了但是没有显示方法的问题,所以记录一下。如果你也遇到过同样的问题,希望这篇文章对你有用。问题描述@ApiModelProperty注解用于标记属性、默认值、是否可以为空。其中一个属性allowableValues是本文的重点。从属性名可以知道,这个属性是用来配置标记字段允许的Optional值的。但是这个属性是一个String类型,我们怎么配置可选值呢?我们可以通过源代码注释了解一切:public@interfaceApiModelProperty{/***Limitstheacceptablevaluesforthisparameter.*

*Therearethreewaystodescribetheallowablevalues:*

    *
  1. tosetalistofvalues,provideacomma-separatedlist.*Forexample:{@codefirst,second,third}.
  2. *
  3. 设置值的范围,以“范围”开始值,并在方括号*周围包括最小值和最大值,或不包含最小值和最大值的圆括号。*对于代码示例[{1,5]},{@coderange(1,5)},{@coderange[1,5)}.
  4. *
  5. 要设置最小值/最大值,使用相同的范围格式,但使用“无穷大”*或“-无穷大”作为第二个值。例如,{@coderange[1,infinity]}表示此参数的*最小允许值是1。
  6. *
*/StringallowableValues()default"";...}我们只需要通过拆分定义可选值,或者使用range函数定义范围等方法就可以正确显示,例如:publicclassFilter{@ApiModelProperty(allowableValues="范围[1,5]")Integerorder@ApiModelProperty(allowableValues="111,222")Stringcode;}再次运行程序,可以看到如下内容,设置的允许值正常显示【本文为专栏作家“翟永超”原创稿件,转载请联系作者获得授权】点此阅读作者更多好文