为knife4j补充配置:production

This commit is contained in:
Guan 2025-11-03 09:57:29 +08:00
parent c41a21df8d
commit 43da0b75f3
11 changed files with 69 additions and 76 deletions

View File

@ -1,49 +1,34 @@
package com.mdd.admin.config; package com.mdd.admin.config;
import com.mdd.common.config.GlobalConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.ApiInfo; import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
@Configuration @Configuration
@EnableOpenApi @EnableSwagger2WebMvc
public class SwaggerConfig { public class SwaggerConfig {
@Value("${like.swagger.enabled}")
private boolean enabled;
@Value("${like.swagger.pathMapping}")
private String pathMapping;
@Bean @Bean
public Docket createRestApi(){ public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30) return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo()) .apiInfo(apiInfo())
.enable(enabled)
.select() .select()
// 指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.mdd.admin.controller")) .apis(RequestHandlerSelectors.basePackage("com.mdd.admin.controller"))
.build() .paths(PathSelectors.any())
.pathMapping(pathMapping);
}
private ApiInfo apiInfo(){
String author = "FZR";
String url = "https://gitee.com/likeadmin/likeadmin_java";
String email = "tinyants@163.com";
return new ApiInfoBuilder()
.title("LikeAdmin【后台】接口文档")
.description("likeadmin是一套使用流行的技术栈的快速开发管理后台")
.version(GlobalConfig.version)
.contact(new Contact(author, url, email))
.build(); .build();
} }
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("后台API接口文档")
.version("1.0.0")
.build();
}
} }

View File

@ -50,6 +50,10 @@ public class WebMvcConfig implements WebMvcConfigurer {
String directory = YmlUtils.get("like.upload-directory"); String directory = YmlUtils.get("like.upload-directory");
registry.addResourceHandler("/"+ GlobalConfig.adminPublicPrefix +"/**") registry.addResourceHandler("/"+ GlobalConfig.adminPublicPrefix +"/**")
.addResourceLocations("file:" + directory); .addResourceLocations("file:" + directory);
registry.addResourceHandler("doc.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
} }
} }

View File

@ -9,11 +9,11 @@ spring:
property-naming-strategy: SNAKE_CASE #下划线返回值和获取值 property-naming-strategy: SNAKE_CASE #下划线返回值和获取值
# 数据源配置 # 数据源配置
datasource: datasource:
url: jdbc:mysql://localhost:3306/【库名称】?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false url: jdbc:mysql://localhost:3306/la??useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&sql_mode=ANSI_QUOTES
type: com.zaxxer.hikari.HikariDataSource # 数据源类型 type: com.zaxxer.hikari.HikariDataSource # 数据源类型
driver-class-name: com.mysql.jdbc.Driver # MySql的驱动 driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
username: root # 数据库账号 username: root # 数据库账号
password: root # 数据库密码 password: 123456 # 数据库密码
# Redis配置 # Redis配置
redis: redis:
host: localhost # Redis服务地址 host: localhost # Redis服务地址

View File

@ -33,11 +33,11 @@ spring:
matching-strategy: ant_path_matcher matching-strategy: ant_path_matcher
# 数据源配置 # 数据源配置
datasource: datasource:
url: jdbc:mysql://localhost:3306/likeadmin?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false url: jdbc:mysql://localhost:3306/la??useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&sql_mode=ANSI_QUOTES
type: com.zaxxer.hikari.HikariDataSource # 数据源类型 type: com.zaxxer.hikari.HikariDataSource # 数据源类型
driver-class-name: com.mysql.jdbc.Driver # MySql的驱动 driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
username: root # 数据库账号 username: root # 数据库账号
password: root # 数据库密码 password: 123456 # 数据库密码
hikari: hikari:
connection-timeout: 30000 # 等待连接分配连接的最大时长(毫秒),超出时长还没可用连接则发送SQLException,默认30秒 connection-timeout: 30000 # 等待连接分配连接的最大时长(毫秒),超出时长还没可用连接则发送SQLException,默认30秒
minimum-idle: 5 # 最小连接数 minimum-idle: 5 # 最小连接数
@ -89,3 +89,9 @@ sa-token:
token-style: random-64 # token生成的风格 token-style: random-64 # token生成的风格
is-print: false # 打印版本字符画 is-print: false # 打印版本字符画
is-log: false # 是否输出操作日志 is-log: false # 是否输出操作日志
knife4j:
enable: true
openapi:
title: Knife4j后台页面文档
description: ""

View File

@ -203,8 +203,8 @@
<!-- Swagger3 --> <!-- Swagger3 -->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>springfox-boot-starter</artifactId> <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
</dependency> </dependency>
<!-- 微信小程序 --> <!-- 微信小程序 -->

View File

@ -1,6 +1,7 @@
package com.mdd.common.entity; package com.mdd.common.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -25,6 +26,7 @@ public class DevCrontab implements Serializable {
private Integer type; private Integer type;
@ApiModelProperty("是否系统任务 0-否 1-是") @ApiModelProperty("是否系统任务 0-否 1-是")
@TableField("`system`")
private Integer system; private Integer system;
@ApiModelProperty("备注信息") @ApiModelProperty("备注信息")

View File

@ -1,48 +1,35 @@
package com.mdd.front.config; package com.mdd.front.config;
import com.mdd.common.config.GlobalConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi; import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.*; import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
@Configuration @Configuration
@EnableOpenApi @EnableSwagger2WebMvc
public class SwaggerConfig { public class SwaggerConfig {
@Value("${like.swagger.enabled}")
private boolean enabled;
@Value("${like.swagger.pathMapping}")
private String pathMapping;
@Bean @Bean
public Docket createRestApi(){ public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30) return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo()) .apiInfo(apiInfo())
.enable(enabled)
.select() .select()
.apis(RequestHandlerSelectors.basePackage("com.mdd.front")) // 指定Controller扫描包路径
.build() .apis(RequestHandlerSelectors.basePackage("com.mdd.front.controller"))
.pathMapping(pathMapping); .paths(PathSelectors.any())
}
private ApiInfo apiInfo(){
String author = "FZR";
String url = "https://gitee.com/likeadmin/likeadmin_java";
String email = "tinyants@163.com";
return new ApiInfoBuilder()
.title("LikeAdmin【前台】接口文档")
.description("likeadmin是一套使用流行的技术栈的快速开发管理后台")
.version(GlobalConfig.version)
.contact(new Contact(author, url, email))
.build(); .build();
} }
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("前台API接口文档")
.version("1.0.0")
.build();
}
} }

View File

@ -46,6 +46,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
String directory = YmlUtils.get("like.upload-directory"); String directory = YmlUtils.get("like.upload-directory");
registry.addResourceHandler("/"+ GlobalConfig.publicPrefix +"/**") registry.addResourceHandler("/"+ GlobalConfig.publicPrefix +"/**")
.addResourceLocations("file:" + directory); .addResourceLocations("file:" + directory);
registry.addResourceHandler("doc.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
} }
} }

View File

@ -8,11 +8,11 @@ spring:
property-naming-strategy: SNAKE_CASE #下划线返回值和获取值 property-naming-strategy: SNAKE_CASE #下划线返回值和获取值
# 数据源配置 # 数据源配置
datasource: datasource:
url: jdbc:mysql://localhost:3306/【库名称】?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false url: jdbc:mysql://localhost:3306/la?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
type: com.zaxxer.hikari.HikariDataSource # 数据源类型 type: com.zaxxer.hikari.HikariDataSource # 数据源类型
driver-class-name: com.mysql.jdbc.Driver # MySql的驱动 driver-class-name: com.mysql.cj.jdbc.Driver # MySql的驱动
username: root # 数据库账号 username: root # 数据库账号
password: root # 数据库密码 password: 123456 # 数据库密码
# Redis配置 # Redis配置
redis: redis:
host: localhost # Redis服务地址 host: localhost # Redis服务地址

View File

@ -26,11 +26,11 @@ spring:
matching-strategy: ant_path_matcher matching-strategy: ant_path_matcher
# 数据源配置 # 数据源配置
datasource: datasource:
url: jdbc:mysql://localhost:3306/local_likeadmin?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false url: jdbc:mysql://localhost:3306/la?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
type: com.zaxxer.hikari.HikariDataSource # 数据源类型 type: com.zaxxer.hikari.HikariDataSource # 数据源类型
driver-class-name: com.mysql.jdbc.Driver # MySql的驱动 driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
username: root # 数据库账号 username: root # 数据库账号
password: root # 数据库密码 password: 123456 # 数据库密码
hikari: hikari:
connection-timeout: 30000 # 等待连接分配连接的最大时长(毫秒),超出时长还没可用连接则发送SQLException,默认30秒 connection-timeout: 30000 # 等待连接分配连接的最大时长(毫秒),超出时长还没可用连接则发送SQLException,默认30秒
minimum-idle: 5 # 最小连接数 minimum-idle: 5 # 最小连接数
@ -84,3 +84,9 @@ sa-token:
ali: ali:
pay: pay:
order-notify-url: /api/pay/ali/notify/order order-notify-url: /api/pay/ali/notify/order
knife4j:
enable: true
openapi:
title: Knife4j前台页面文档
description: ""

View File

@ -224,9 +224,9 @@
<!-- Swagger3 --> <!-- Swagger3 -->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>springfox-boot-starter</artifactId> <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>3.0.0</version> <version>4.4.0</version>
</dependency> </dependency>
<!-- 微信小程序 --> <!-- 微信小程序 -->