SpringBoot集成Swagger(八)@ApiModelProperty()注解一撸到底 | 您所在的位置:网站首页 › 随笔记是什么意思 › SpringBoot集成Swagger(八)@ApiModelProperty()注解一撸到底 |
「这是我参与11月更文挑战的第24天,活动详情查看:2021最后一次更文挑战」 相关文章Java随笔记:Java随笔记 前言 上一篇我们讲到了@ApiModel()。 今天给大家带来@ApiModelProperty()详解! 顾名思义,这玩意是用来标注属性的 ApiModelProperty() 熟悉的小伙伴们都知道了,先撸进去看看! @Target({ElementType.METHOD, ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) public @interface ApiModelProperty { String value() default ""; String name() default ""; String allowableValues() default ""; String access() default ""; String notes() default ""; String dataType() default ""; boolean required() default false; int position() default 0; boolean hidden() default false; String example() default ""; /** @deprecated */ @Deprecated boolean readOnly() default false; ApiModelProperty.AccessMode accessMode() default ApiModelProperty.AccessMode.AUTO; String reference() default ""; boolean allowEmptyValue() default false; Extension[] extensions() default {@Extension( properties = {@ExtensionProperty( name = "", value = "" )} )}; public static enum AccessMode { AUTO, READ_ONLY, READ_WRITE; private AccessMode() { } } } 由@Target的参数可知:它是使用在属性上或者方法上! 由@Retention的参数可知:它是运行时生效的! 那么,这么多参数分别是干嘛的呢?下面详细道来。测试案例 @Data @ApiModel(value = "学生类",description = "这是类的详细描述信息呀",parent = CourseResponse.class,subTypes = CourseResponse.class) public class StudentResponse{ @ApiModelProperty(value = "姓名", name = "name", allowableValues = "32", access = "1", notes = "用户的姓名", dataType = "String", required = false, position = 0, hidden = false, example = "大鱼", readOnly = false, reference = "name", allowEmptyValue = false ) private String name; @ApiModelProperty(value = "年龄") private int age; @ApiModelProperty(value = "爱好") private String like; @ApiModelProperty() private CourseResponse perResponse; }启动看结果 效果已经看到了,下面我们对其每个参数进行解释。 总结value() 参数类型为String,作用为此属性的简要描述。name() 参数类型为String,作用为允许重写属性的名称。allowableValues() 参数类型为String,作用为限制此参数存储的长度。access() 参数类型为String,作用为允许从API文档中过滤属性notes() 参数类型为String,作用为该字段的注释说明dataType() 参数类型为String,作用为参数的数据类型。required() 参数类型为String,作用为指定参数是否可以为空,默认为falseposition() 参数类型为int,作用为允许显式地对模型中的属性排序。hidden() 参数类型为boolean,作用为是否允许模型属性隐藏在Swagger模型定义中,默认为false。example() 参数为String类型,作用为属性的示例值。readOnly() 参数类型为boolean,作用为是否允许将属性指定为只读,默认为false。reference() 参数类型为String,作用为指定对对应类型定义的引用,重写指定的任何其他数据名称。allowEmptyValue() 参数类型为boolean,作用为是否允许传递空值,默认为false 由于这个参数实在太多,而且很多不大常用,我就不一一演示对比的区别了。 感兴趣的小伙伴们可以对着我的总结来试一试~ 以上都是个人所言,如有不对,欢迎指出。 如果对您有帮助,希望给我点个赞点个关注呗!路漫漫其修远兮,吾必将上下求索~ 如果你认为i博主写的不错!写作不易,请点赞、关注、评论给博主一个鼓励吧~hahah |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |