为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;
import com.mdd.common.config.GlobalConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
@Configuration
@EnableOpenApi
@EnableSwagger2WebMvc
public class SwaggerConfig {
@Value("${like.swagger.enabled}")
private boolean enabled;
@Value("${like.swagger.pathMapping}")
private String pathMapping;
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.OAS_30)
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.enable(enabled)
.select()
// 指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.mdd.admin.controller"))
.build()
.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))
.paths(PathSelectors.any())
.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");
registry.addResourceHandler("/"+ GlobalConfig.adminPublicPrefix +"/**")
.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 #下划线返回值和获取值
# 数据源配置
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 # 数据源类型
driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
username: root # 数据库账号
password: root # 数据库密码
password: 123456 # 数据库密码
# Redis配置
redis:
host: localhost # Redis服务地址

View File

@ -33,11 +33,11 @@ spring:
matching-strategy: ant_path_matcher
# 数据源配置
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 # 数据源类型
driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
username: root # 数据库账号
password: root # 数据库密码
password: 123456 # 数据库密码
hikari:
connection-timeout: 30000 # 等待连接分配连接的最大时长(毫秒),超出时长还没可用连接则发送SQLException,默认30秒
minimum-idle: 5 # 最小连接数
@ -88,4 +88,10 @@ sa-token:
is-share: false # 多人同登账号共用token
token-style: random-64 # token生成的风格
is-print: false # 打印版本字符画
is-log: false # 是否输出操作日志
is-log: false # 是否输出操作日志
knife4j:
enable: true
openapi:
title: Knife4j后台页面文档
description: ""

View File

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

View File

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

View File

@ -1,48 +1,35 @@
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.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.*;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
@Configuration
@EnableOpenApi
@EnableSwagger2WebMvc
public class SwaggerConfig {
@Value("${like.swagger.enabled}")
private boolean enabled;
@Value("${like.swagger.pathMapping}")
private String pathMapping;
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.OAS_30)
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.enable(enabled)
.select()
.apis(RequestHandlerSelectors.basePackage("com.mdd.front"))
.build()
.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))
// 指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.mdd.front.controller"))
.paths(PathSelectors.any())
.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");
registry.addResourceHandler("/"+ GlobalConfig.publicPrefix +"/**")
.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 #下划线返回值和获取值
# 数据源配置
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 # 数据源类型
driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
driver-class-name: com.mysql.cj.jdbc.Driver # MySql的驱动
username: root # 数据库账号
password: root # 数据库密码
password: 123456 # 数据库密码
# Redis配置
redis:
host: localhost # Redis服务地址

View File

@ -26,11 +26,11 @@ spring:
matching-strategy: ant_path_matcher
# 数据源配置
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 # 数据源类型
driver-class-name: com.mysql.jdbc.Driver # MySql的驱动
username: root # 数据库账号
password: root # 数据库密码
password: 123456 # 数据库密码
hikari:
connection-timeout: 30000 # 等待连接分配连接的最大时长(毫秒),超出时长还没可用连接则发送SQLException,默认30秒
minimum-idle: 5 # 最小连接数
@ -83,4 +83,10 @@ sa-token:
is-log: false # 是否输出操作日志
ali:
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 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>
<!-- 微信小程序 -->