若依配置knife4j
若依配置knife4j (swagger 增强版)
若依前后端分离使用的是swagger3版本的接口文档组件,生成的接口文档不仅需要登录状态,而且 Swagger UI 默认的界面确实不太理想:
1.配置knife4j
admin模块的xml
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.3</version>
</dependency>
替换掉
<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version>
</dependency>
在总模块下的xml中直接添加 knif4j 就可以了,不需要去除原来的 swagger3。
<!-- knife4j(swagger3增强版) -->
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>${knife4j.version}</version>
</dependency><!-- Swagger3依赖 -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>${swagger.version}</version><exclusions><exclusion><groupId>io.swagger</groupId><artifactId>swagger-models</artifactId></exclusion></exclusions>
</dependency>
application.yml
# Knife4j配置
knife4j:# 是否开启Knife4j(swagger 增强版)enable: true# 开启屏蔽文档资源production: false
此时可以通过 ip+port+/doc.html,直接访问文档页面
2.常用注解
swagger 常用的注解就这么几个:
@Api(value = “xxx”):用于控制器
@ApiOperation(“xxx”):用于方法
@ApiModel(description = “xxx”):请求模型
@ApiModelProperty(value = “xxx”, required = true):用于用户请求模型属性,equired 是否必须,如果需要验证字段,可以在定义模型前面添加 @Validated,如:@RequestBody @Validated
3.解决跨域
admin模块添加下面这个配置文件,即可
package com.ruoyi.web.core.config;/*** 解决跨域*/
@Configuration
public class CorsConfig {@Beanpublic CorsFilter corsWebFilter() {CorsConfiguration corsConfiguration = new CorsConfiguration();// 允许的请求头corsConfiguration.addAllowedHeader("*");// 允许的请求源corsConfiguration.addAllowedOrigin("*");// 允许的请求方法 ==> GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACEcorsConfiguration.addAllowedMethod("*");// URL 映射 (如: /admin/**)UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);return new CorsFilter(urlBasedCorsConfigurationSource);}
}