@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;
    

    路漫漫其修远兮,吾必将上下求索~

    如果你认为i博主写的不错!写作不易,请点赞、关注、评论给博主一个鼓励吧~hahah

    分类:
    后端