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里面显示.
但是我创建了很多实体类, 但怎么也只显示了一个???
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方法全都加上!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。