【RuoYi-Vue-Plus】问题笔记 02 - Knife4j | Swagger 文档页面空白 以及 文档参数无法显示问题

前言

今天遇到一个很(sao)不(得)常(一)见(匹)的问题,所以必须要把这部血泪史记录一下。

注:因为是开发中的项目,所以适当打码,不影响问题描述

首先描述一下问题:(框架版本是V3.5.0,但是和版本相关性不大)

问题一:文档页面空白

在这里插入图片描述
这是接口文档页面(系统模块),红框是我新增的模块,点击模块下的任意接口,页面就会变成空白:
在这里插入图片描述
以第一个新增接口为例:
在这里插入图片描述
这个问题的原因我很快找到了,解决了问题一,却又出现了问题二,因为问题一和问题二造成的原因一致,所以我先把问题二说完再一起说解决方案。

问题二:文档参数无法显示

问题一解决了,点开可以看到正常的接口页面了,但是新的问题接踵而至,参数没了:
在这里插入图片描述
这是用页面代码生成器生成的接口代码:
在这里插入图片描述
@RequestBody 应该接收的是 JSON 参数,但是页面却是 Form 表单。(这里要感谢 狮子大佬 提醒,一开始没注意这里)

正常的新增接口:
在这里插入图片描述
接口代码:
在这里插入图片描述
如果去掉 @RequestBody ,问题确实可以解决一部分(JSON 参数变成了表单):
在这里插入图片描述

问题原因

首先说重点,问题的原因在于 / ,没错就是斜杠。

我猜测的原因是因为 / 作为特殊符号,前后内容会被解析成路径。

你问我为啥会有斜杠?(大概是我脑子进水了所以弄了这么个花里胡哨的注释
在这里插入图片描述
这个注释会出现在生成的代码里面。

举个栗子(controller):
在这里插入图片描述
这就是导致问题一的原因。

再举个栗子(SysDeptDetailBo):
在这里插入图片描述
这是请求接口时的业务参数,就是导致问题二的原因。

下面我来扯下怎么解决的这两个问题(没兴趣的朋友请直接到最后解决方案):

问题一是偶然之间发现的,一开始看到一片空白我也懵了,重启也不管用,然后在改其他接口的时候发现了猫腻:
在这里插入图片描述
拉到最下面就是有问题的菜单:
在这里插入图片描述
这里点开就会出现空白页。问题一就是这么找到的。

解决完问题一之后忘记还有 Bo 这回事,所以问题二搞了挺长时间没解决,最后去群里找大佬请教,经过提醒点开请求参数发现了 @ApiModel 参数里面有 /,去掉之后所有问题终于迎刃而解。

解决方案

  1. 把代码所有注解里面的 / 去掉。
  2. 把数据库注释里面花里胡哨的 / 去掉,改用 , 或者其他非特殊符号。
  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MichelleChung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值