欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot中的@ApiModelProperty注解作用

程序员文章站 2022-06-22 11:54:03
目录@apimodelproperty注解作用主要字段说明举个简单的例子@apimodelproperty()失效解决方法@apimodelproperty注解作用@apimodelproperty(...

@apimodelproperty注解作用

@apimodelproperty()注解用于方法、字段,表示对model属性的说明或者数据操作更改,以下是它的源码:

 
  // intellij api decompiler stub source generated from a class file
  // implementation of methods is not available 
package io.swagger.annotations; 
@java.lang.annotation.target({java.lang.annotation.elementtype.method, java.lang.annotation.elementtype.field})
@java.lang.annotation.retention(java.lang.annotation.retentionpolicy.runtime)
public @interface apimodelproperty {
    java.lang.string value() default ""; 
    java.lang.string name() default ""; 
    java.lang.string allowablevalues() default ""; 
    java.lang.string access() default ""; 
    java.lang.string notes() default ""; 
    java.lang.string datatype() default ""; 
    boolean required() default false; 
    int position() default 0; 
    boolean hidden() default false; 
    java.lang.string example() default "";
 
    /**
     * @deprecated
     */
    @java.lang.deprecated
    boolean readonly() default false; 
    io.swagger.annotations.apimodelproperty.accessmode accessmode() default io.swagger.annotations.apimodelproperty.accessmode.auto; 
    java.lang.string reference() default ""; 
    boolean allowemptyvalue() default false; 
    io.swagger.annotations.extension[] extensions() default {@io.swagger.annotations.extension(properties = {@io.swagger.annotations.extensionproperty(name = "", value = "")})}; 
    static enum accessmode {
        auto, read_only, read_write; 
        private accessmode() { /* compiled code */ }
    }
}

主要字段说明

  • value:字段说明
  • name:重写属性名字
  • datatype:重写属性类型
  • required:是否必须,默认false
  • example:举例
  • hidden:隐藏

举个简单的例子

@apimodel(value="user", description="users")
public class uservo implements serializable{    
    private static final long serialversionuid = 1l;    
     @apimodelproperty(value="用户名", name="username", example="xzw")
     private string username;     
     @apimodelproperty(value="状态", name="status", required=true)
      private integer status;
      private string pwd;
      private string nname;
      private integer flag;
 
      @apimodelproperty(value="grade数组", hidden=true)
      private string[] grades;
      private list<string> gradelist;
}

@apimodelproperty()失效

解决方法

可以把

@apimodelproperty(value= "id")

替换成

@apimodelproperty(example = "id")

即可~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。