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

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

程序员文章站 2022-03-03 08:10:59
目录@apimodel添加实体类不生效models实体类无法显示解决办法@apimodel添加实体类不生效swagger, @apimodel, models, 实体类无法加载在使用swagger时,...

@apimodel添加实体类不生效 

swagger, @apimodel, models, 实体类无法加载

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

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

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

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

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

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

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

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

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类的信息!

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

解决办法

给实体类添加 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;
    }    
}

成功显示!

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

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

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

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