Swagger怎么没有你要的model?一个注解帮你解决

时间:2024-05-31 22:54:48

需求描述

因为懒省事,不想写文档,前几日发现了Swagger这个好东西,文档轻轻松松自动生成,两个字,舒服!
但是按照网上来的教程给自己的项目配了Swagger以后,嗯?
Models里面只有这个这
,这让我亲爱的前端兄弟如何是好
Swagger怎么没有你要的model?一个注解帮你解决

如何解决model信息不足

找遍了材料,有各种方案,大致三种
我选择了最后才发现的,也是最舒服的第一种方案

第一种方案

Swagger的model里面之所以没有你需要的model,是因为你的model没有被swagger发现,我们利用Spring的注解让这个类被发现就行
怎么做呢?
在接口的参数列表添加@RequestBody,如下图
Swagger怎么没有你要的model?一个注解帮你解决启动项目,你会发现Advice已经出现在了models中
Swagger怎么没有你要的model?一个注解帮你解决

到这里就足够了,下面两种,很不实用,但是花了自己的时间去学,所以也记录一下

方案二

在Swagger的配置Bean中,手动的添加你想呈现的类,如下最后一行
这里的resolve方法虽然说接收的是列表,但是我传入多个.class一直报错
,additionalModels也能接受参数列表,所以可以写很多个typeResolver.resolve(CodeEnum.class)作为参数传入
Swagger怎么没有你要的model?一个注解帮你解决启动项目,swagger就会显示信息

方案三

我没细看,立刻认识到这个是繁琐而且没很大意义的事情

修改Swagger的流程,在扫描包时配置为扫描自己指定的包与类
先不说难度的问题,Swagger作为Api文档的便捷生成器,如此大费周章其实跟自己最初的目的背道而驰,所以没有细看,只提一下,
有想法的可以debug查看swagger的启动步骤,然后重写一下扫描方法就行