若依框架前后端分离版v3.8.3使用代码生成工具生成的接口无法通过swagger访问;然后发现自己的接口里没有添加swagger注解,也就是说使用若依自带的代码生成工具生成的代码里controller接口是没有添加swagger注解的,这就很不爽了,总不能每个接口都自己添加吧!那就修改生成代码的模板,实现自动添加,话不多说,上干货!

一、修改生成代码模板

修改这个文件ruoyi-generator\src\main\resources\vm\java\controller.java.vm:

 

 如图,主要修改三个地方:

1、导入swagger的包路径:

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

2、在类名上添加@Api注解,注解的值可以取类名的注释;

3、在方法名上添加@ApiOperation注解,注解的值可以取方法名的注释;

重启项目,重新生成代码。

二、修改swagger pom依赖的位置

 

生成的代码导入IDE后报错,是因为我新建的这个模块,没有引入swagger的依赖y,为了以后其它新增的module都不用再单独引入swagger依赖,将swagger的pom依赖放到ruoyi-common的pom中,那么将ruoyi-admin中的swagger依赖剪切并复制到ruoyi-common的pom中:

<!-- swagger3-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
</dependency>

<!-- 防止进入swagger页面报类型转换错误,排除3.0.0中的引用,手动增加1.6.2版本 -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.6.2</version>
</dependency>

 三、接口调用

在系统接口页面通过swagger调用接口报401错误,

 这是因为接口设置了权限控制的原因,

 那就得设置请求头认证了,随便点击一个页面获取到Admin-Token的值

 然后到swagger页面复制并粘贴到下图那里,再点击Authorize按钮即可。

 

Logo

快速构建 Web 应用程序

更多推荐