SpringBoot中的@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")

即可~

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

(0)

相关推荐

  • 解决@Api注解不展示controller内容的问题

    目录 @Api注解不展示controller内容 一开始我是这么写的 然后看看api注解里面的值 swaggerUI页面没有显示Controller的坑 启动访问页面发现以下问题 研究发现少了以下配置 全部代码如下 @Api注解不展示controller内容 一开始我是这么写的 @Api(value = "企业controller") 然后展示: 然后看看api注解里面的值 有描述description和tags然后修改成这样: @Api(tags = "CompanyCon

  • Swagger中@ApiIgnore注解的使用详解

    目录 Swagger @ApiIgnore注解的使用 1.作用在类上时,整个类都会被忽略 2.当作用在方法上时,方法将被忽略 3.作用在参数上时,单个具体的参数会被忽略 4. 在实体类中忽略不需要字段的方式 Swagger中的常用注解 1.作用在类上时,整个类都会被忽略 2.当作用在方法上时,方法将被忽略 3.作用在参数上时,单个具体的参数会被忽略 Swagger @ApiIgnore注解的使用 @ApiIgnore 可以用在类.方法上,方法参数中,用来屏蔽某些接口或参数,使其不在页面上显示.

  • SpringBoot中的@ApiModelProperty注解作用

    目录 @ApiModelProperty注解作用 主要字段说明 举个简单的例子 @ApiModelProperty()失效 解决方法 @ApiModelProperty注解作用 @ApiModelProperty()注解用于方法.字段,表示对model属性的说明或者数据操作更改,以下是它的源码: // IntelliJ API Decompiler stub source generated from a class file // Implementation of methods is no

  • 详解SpringBoot中添加@ResponseBody注解会发生什么

    SpringBoot版本2.2.4.RELEASE. [1]SpringBoot接收到请求 ① springboot接收到一个请求返回json格式的列表,方法参数为JSONObject 格式,使用了注解@RequestBody 为什么这里要说明返回格式.方法参数.参数注解?因为方法参数与参数注解会影响你使用不同的参数解析器与后置处理器!通常使用WebDataBinder进行参数数据绑定结果也不同. 将要调用的目标方法如下: @ApiOperation(value="分页查询") @Re

  • springboot中使用@Transactional注解事物不生效的坑

    一:在springboot中使用事物遇到的坑 1.我们知道spring中的事物分为两种:一种是编程式事物,一种是声明式事物.顾名思义,编程式事物是指通过代码去实现事物管理,这里不做过多说明.另一种是声明式事物,分为两种情况01:一种是通过传统xml方式配置,02:使用@Transaction注解方式配置,这是主要讲解的是通过注解方式配置.因为在springboot项目中,会自动配置DataSourceTransactionManager,我们只需要在对应的方法上或者类上加上@Transactio

  • SpringBoot中使用@Scheduled注解创建定时任务的实现

    在项目日常开发过程中,经常需要定时任务来帮我们做一些工作,如清理日志.定时任务的实现方法主要有 Timer.Quartz 以及 elastic-job Timer 实现定时任务 只执行一次的定时任务 Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { System.out.println("2000毫米后执行一次."); } }, 2000); timer.s

  • 解决SpringBoot中使用@Async注解失效的问题

    错误示例,同一个类中使用异步方法: package com.xqnode.learning.controller; import com.fasterxml.jackson.core.JsonProcessingException; import org.springframework.scheduling.annotation.Async; import org.springframework.web.bind.annotation.GetMapping; import org.springf

  • 详解SpringBoot中@NotNull,@NotBlank注解使用

    目录 一.添加依赖 二.在类中使用验证注解 1.创建验证实体类(嵌套使用) 2.创建全局异常处理器,对message信息进行处理,并返回给前端 3.在controller中的使用 三.在方法参数中使用验证注解,与@RequsetParam注解同时使用,注意类上使用@Validated 四.自定义验证注解 一.添加依赖 <!-- spring-boot 2.3及以上的版本只需要引入下面的依赖 --> <dependency> <groupId>org.springfram

  • 浅谈SpringBoot中的@Conditional注解的使用

    概述 Spring boot 中的 @Conditional 注解是一个不太常用到的注解,但确实非常的有用,我们知道 Spring Boot 是根据配置文件中的内容,决定是否创建 bean,以及如何创建 bean 到 Spring 容器中,而 Spring boot 自动化配置的核心控制,就是 @Conditional 注解. @Conditional 注解是 Spring 4.0 之后出的一个注解,与其搭配的一个接口是 Condition,@Conditional 注解会根据具体的条件决定是否

  • 解决SpringBoot中使用@Transactional注解遇到的问题

    目录 使用@Transactional注解遇到的问题 1.不建议在接口上添加@Transactional注解 2.@Transactional注解 3.默认情况下 4.数据库引擎需要支持事务管理 5.同一类中methodA()方法 springboot 注解transactional失效 1.在方法中捕获了异常 2.spring中事务是代理模式 3.A方法如果有事务注解 4.本类中A方法调用 使用@Transactional注解遇到的问题 1.不建议在接口上添加@Transactional注解

  • SpringBoot中的@Value注解用法

    目录 一.前言 二.数组怎么样 三.替代方法 3.1 解析 List 3.2 解析 Set 3.3 解析 Map 四.后续 一.前言 在日常开发中,经常会遇到需要在配置文件中,存储 List 或是 Map 这种类型的数据. Spring 原生是支持这种数据类型的,以配置 List 类型为例,对于 .yml 文件配置如下: test: list: - aaa - bbb - ccc 对于 .properties 文件配置如下所示: test.list[0]=aaa test.list[1]=bbb

  • SpringBoot中定时任务@Scheduled注解的使用解读

    目录 概述 注解定义 参数说明 源码解析 使用详解 定时任务同步/异步执行 fixedRate/fixedDelay区别 项目开发中,经常会遇到定时任务的场景,Spring提供了@Scheduled注解,方便进行定时任务的开发 概述 要使用@Scheduled注解,首先需要在启动类添加@EnableScheduling,启用Spring的计划任务执行功能,这样可以在容器中的任何Spring管理的bean上检测@Scheduled注解,执行计划任务 注解定义 @Target({ElementTyp

随机推荐