swagger @ApiModel添加实体类不生效的解决

目录
  • @ApiModel添加实体类不生效
  • Models实体类无法显示
    • 解决办法

@ApiModel添加实体类不生效

swagger, @ApiModel, Models, 实体类无法加载

在使用swagger时, 以为加上@ApiModel在实体类上就可以在swagger-ui.html的Models里面显示.

但是我创建了很多实体类, 但怎么也只显示了一个???

Models中无论如何只有User这一个实体类。 后来发现不是加上@ApiModel就可以加入Models中的,必须要在controller层中关联这个实体类。由于我把所有实体类创建好后只测试了User,其它的实体类都没关联,所以swagger-ui.html中的Models没有实体类的显示。

Models实体类无法显示

Swagger环境为:

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

编写实体类 User:

@ApiModel("用户实体类")
public class User {
    @ApiModelProperty("用户名")
    private String username;
    @ApiModelProperty("密码")
    private String password;
}

在controller中使用该实体类:

@PostMapping("/user")
public User user() {
    return new User();
}

却发现Models中根本没有User类的信息!

解决办法

给实体类添加 get 和 set 方法!

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel("用户实体类")
public class User {
    @ApiModelProperty("用户名")
    private String username;
    @ApiModelProperty("密码")
    private String password;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

成功显示!

由此可知,以后写实体类的时候,写全!

构造方法,get、set方法,toString方法全都加上!

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

(0)

相关推荐

  • SpringBoot集成Swagger构建api文档的操作

    最近在做项目的时候,一直用一个叫做API的东西,controller注解我会写,这个东西我也会用,但是我确实不知道这个东西是个什么,有点神奇.关键还坑了我一次,他的注解会影响到代码的运行,不光是起到注解的作用.所以我就研究了一下. Swagger是什么:THE WORLD'S MOST POPULAR API TOOLING 根据官网的介绍: Swagger Inspector:测试API和生成OpenAPI的开发工具.Swagger Inspector的建立是为了解决开发者的三个主要目标. 1

  • Spring boot集成swagger2生成接口文档的全过程

    一.Swagger介绍 Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的web服务.目标是使客户端和文件系统作为服务器以同样的速度来更新文件的方法,参数和模型紧密集成到服务器.这个解释简单点来讲就是说,swagger是一款可以根据restful风格生成的接口开发文档,并且支持做测试的一款中间软件. 二.使用swagger优势 1.对于后端开发人员来说 不用再手写Wiki接口拼大量参数,避免手写错误 对代码侵入性低,采用全注解的方式,开发简单 方法参数名修改.

  • swagger @ApiModel添加实体类不生效的解决

    目录 @ApiModel添加实体类不生效 Models实体类无法显示 解决办法 @ApiModel添加实体类不生效 swagger, @ApiModel, Models, 实体类无法加载 在使用swagger时, 以为加上@ApiModel在实体类上就可以在swagger-ui.html的Models里面显示. 但是我创建了很多实体类, 但怎么也只显示了一个??? Models中无论如何只有User这一个实体类. 后来发现不是加上@ApiModel就可以加入Models中的,必须要在contro

  • SpringBoot 返回Json实体类属性大小写的解决

    目录 返回Json实体类属性大小写问题 Json转换大小写的坑 返回Json实体类属性大小写问题 总归上述问题Rt,其实今天开发刚遇到,当时找了半天为啥前台传参后台却接收不到,原来是返回的时候返回小写,但是前台依旧大写传参. 查了很多后发现其实是json返回的时候把首字母变小写了,也就是Spring Boot中Jackson的功劳 百度后得@JsonProperty注解完美解决.但与此同时会出现两个问题 如果注解放到属性上,则返回的时候既有大写也有小写, @JsonProperty("Ao&qu

  • Mybatis之映射实体类中不区分大小写的解决

    目录 Mybatis 映射实体类中不区分大小写 解决办法 问题解决 Mybatis的一些小细节 问题一. #{}和${}的区别是什么? 问题二. 当实体类中的属性名和表中的字段名不一样,怎么办 问题三. 模糊查询like语句该怎么写 问题四. 通常一个Xml映射文件 问题五. Mybatis是如何将sql执行结果封装为目标对象并返回的 问题六. 如何获取自动生成的(主)键值 问题七. 在mapper中如何传递多个参数 问题八. Mybatis动态sql是做什么的 问题九. Mybatis的Xml

  • mybaties plus实体类设置typeHandler不生效的解决

    目录 实体类设置typeHandler不生效问题 解决 mybaties中TypeHandler的使用 解决 实体类设置typeHandler不生效问题 实体类: @Data @TableName(value = "centre_manage_server_info") public class ServerEntity { @TableId(value = "id") //@Column(name = "id", isKey = true, i

  • Java cglib为实体类(javabean)动态添加属性方式

    1.应用场景 之前对接三方平台遇到一个参数名称是变化的,然后我就想到了动态javabean怎么生成,其实是我想多了,用个map就轻易解决了,但还是记录下动态属性添加的实现吧. 2.引入依赖 <!--使用cglib 为javabean动态添加属性--> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId>

  • EF使用Code First模式给实体类添加复合主键

    using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Web; namespace MyFirstMvcApp.Models { /// <summary> /// 登录记录 /// </su

  • Java为实体类动态添加属性的方法详解

    目录 添加依赖 代码 测试 可以给已有实体类动态的添加字段并返回新的实体对象,不影响原来的实体对象结构. 添加依赖 <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>commons

  • fastjson转换对象实体@JsonProperty不生效问题及解决

    目录 fastjson转换对象实体@JsonProperty不生效 项目场景 问题描述 原因分析 解决方案 @JsonProperty 失效问题的排查 fastjson转换对象实体@JsonProperty不生效 项目场景 请求第三方应用 返回json数据 问题描述 第三方返回的数据中,存在java关键词,无法直接使用原属性名进行对应 例如(class.interface等)使用@JsonProperty注解不能返回正确的结果 @Data static class User{      @Jso

  • ASP.NET JSON字符串与实体类的互转换示例代码

    还是先封装一个类吧! 这个类网上都可以找到的!有个这个类,一切都将变得简单了,哈哈. 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Runtime.Serialization.Json;using System.ServiceModel.Web;///记得引用这个命名空间using System.IO;using System.Tex

  • 解析ABP框架领域层中的实体类与仓储类

    领域层 实体是DDD(领域驱动设计)的核心概念之一.Eric Evans是这样描述的"很多对象不是通过它们的属性定义的,而是通过一连串的连续性事件和标识定义的"(引用领域驱动设计一书). 译者注:对象不是通过它们的属性来下根本性的定义,而应该是通过它的线性连续性和标识性定义的..所以,实体是具有唯一标识的ID且存储在数据库中.实体通常被映射成数据库中的一个表. 实体类(Entity classes) 在ABP中,实体继承自Entity类,请看下面示例: public class Per

随机推荐