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

开发 开发工具
今天碰到开发同事问了一个问题,帮着看了一下,主要还是配置方法的问题,所以记录一下。如果您也碰到了同样的问题,希望本文对您有用。

现在用Swagger来生成API文档的例子已经非常多了,今天碰到开发同事问了一个问题,帮着看了一下,主要还是配置方法的问题,所以记录一下。如果您也碰到了同样的问题,希望本文对您有用。

[[249820]]

问题描述

@ApiModelProperty注解是用来给属性标注说明、默认值、是否可以为空等配置使用的,其中有一个属性allowableValues是本文要讲的重点,从属性命名上就能知道,该属性用来配置所标注字段允许的可选值。

但是这个属性是一个String类型,我们要如何配置可选值呢?

我们可以通过源码的注释了解到一切:

  1. public @interface ApiModelProperty { 
  2.  
  3.     /** 
  4.      * Limits the acceptable values for this parameter. 
  5.      * <p> 
  6.      * There are three ways to describe the allowable values
  7.      * <ol> 
  8.      * <li>To set a list of values, provide a comma-separated list. 
  9.      * For example: {@code firstsecond, third}.</li> 
  10.      * <li>To set a range of values, start the value with "range"and surrounding by square 
  11.      * brackets include the minimum and maximum valuesor round brackets for exclusive minimum and maximum values
  12.      * For example: {@code range[1, 5]}, {@code range(1, 5)}, {@code range[1, 5)}.</li> 
  13.      * <li>To set a minimum/maximum value, use the same format for range but use "infinity" 
  14.      * or "-infinity" as the second value. For example, {@code range[1, infinity]} means the 
  15.      * minimum allowable value of this parameter is 1.</li> 
  16.      * </ol> 
  17.      */ 
  18.     String allowableValues() default ""
  19.  
  20.     ... 

我们只需要通过,分割来定义可选值,或者用range函数定义范围等方式就能正确显示了,比如:

  1. public class Filter { 
  2.  
  3.     @ApiModelProperty(allowableValues = "range[1,5]"
  4.     Integer order 
  5.     @ApiModelProperty(allowableValues = "111, 222"
  6.     String code; 
  7.  

再运行下程序,就能看到如下内容,设置的允许值正常显示了。

 

【本文为51CTO专栏作者“翟永超”的原创稿件,转载请通过51CTO联系作者获取授权】

 

戳这里,看该作者更多好文

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2013-08-21 11:03:29

TabBariOS图片

2010-05-31 09:33:34

2023-11-19 22:47:54

框架Django

2010-09-01 13:08:42

2020-03-12 10:38:40

U盘盘符应用

2018-08-12 23:08:10

微软系统Windows

2011-03-29 13:40:40

linuxcacti

2010-04-02 16:31:58

Oracle RAC

2010-04-27 16:54:11

Oracle RAC

2023-10-29 08:31:19

Springboot管理配置

2010-04-07 09:21:03

Oracle RAC

2023-11-20 14:41:34

Python属性

2023-12-01 10:20:04

Python类属性

2019-03-12 17:17:44

华为云

2010-08-27 16:07:50

2017-07-20 17:05:04

JavaScriptswagger-decSwagger

2011-03-28 14:10:09

Nagiosmap

2009-06-14 16:59:16

ibmdwWebSphere

2010-05-28 15:37:36

MySQL中文显示

2022-10-09 12:12:37

配置漂移
点赞
收藏

51CTO技术栈公众号