Commit ff1379d454a936c978017f2bb454937b64d756b8

Authored by YunaiV
1 parent 9e393565

优化 README 说明~

README.md
... ... @@ -44,6 +44,18 @@
44 44 | `yudao-cloud` | Spring Cloud 微服务 | **[Gitee](https://gitee.com/zhijiantianya/yudao-cloud)**     [Github](https://github.com/YunaiV/yudao-cloud) |
45 45 | `Spring-Boot-Labs` | Spring Boot & Cloud 入门 | **[Gitee](https://gitee.com/zhijiantianya/SpringBoot-Labs)**     [Github](https://github.com/YunaiV/SpringBoot-Labs) |
46 46  
  47 +## 😎 开源协议
  48 +
  49 +**为什么推荐使用本项目?**
  50 +
  51 +① 本项目采用比 Apache 2.0 更宽松的 [MIT License](https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE) 开源协议,个人与企业可 100% 免费使用,不用保留类作者、Copyright 信息。
  52 +
  53 +② 代码全部开源,不会像其他项目一样,只开源部分代码,让你无法了解整个项目的架构设计。[国产开源项目对比](https://www.yuque.com/xiatian-bsgny/lm0ec1/wqf8mn)
  54 +
  55 +![开源项目对比](https://static.iocoder.cn/project-vs.png?imageView2/2/format/webp/w/1280)
  56 +
  57 +③ 代码整洁、架构整洁,遵循《阿里巴巴 Java 开发手册》规范,代码注释详细,57000 行 Java 代码,22000 行代码注释。
  58 +
47 59 ## 🐼 内置功能
48 60  
49 61 系统内置多种多种业务功能,可以用于快速你的业务系统:
... ...
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java
... ... @@ -29,6 +29,7 @@ public interface GlobalErrorCodeConstants {
29 29 // ========== 服务端错误段 ==========
30 30  
31 31 ErrorCode INTERNAL_SERVER_ERROR = new ErrorCode(500, "系统异常");
  32 + ErrorCode NOT_IMPLEMENTED = new ErrorCode(501, "功能未实现/未开启");
32 33  
33 34 // ========== 自定义错误段 ==========
34 35 ErrorCode REPEATED_REQUESTS = new ErrorCode(900, "重复请求,请稍后重试"); // 重复请求
... ...
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/handler/GlobalExceptionHandler.java
... ... @@ -78,7 +78,7 @@ public class GlobalExceptionHandler {
78 78 return validationException((ValidationException) ex);
79 79 }
80 80 if (ex instanceof NoHandlerFoundException) {
81   - return noHandlerFoundExceptionHandler((NoHandlerFoundException) ex);
  81 + return noHandlerFoundExceptionHandler(request, (NoHandlerFoundException) ex);
82 82 }
83 83 if (ex instanceof HttpRequestMethodNotSupportedException) {
84 84 return httpRequestMethodNotSupportedExceptionHandler((HttpRequestMethodNotSupportedException) ex);
... ... @@ -167,7 +167,13 @@ public class GlobalExceptionHandler {
167 167 * 2. spring.mvc.static-path-pattern 为 /statics/**
168 168 */
169 169 @ExceptionHandler(NoHandlerFoundException.class)
170   - public CommonResult<?> noHandlerFoundExceptionHandler(NoHandlerFoundException ex) {
  170 + public CommonResult<?> noHandlerFoundExceptionHandler(HttpServletRequest req, NoHandlerFoundException ex) {
  171 + // 情况一:部分功能未开启
  172 + if (req.getRequestURI().contains("/bpm/")) {
  173 + return CommonResult.error(NOT_IMPLEMENTED.getCode(), "[工作流模块 yudao-module-bpm - 已禁用][参考 https://doc.iocoder.cn/bpm/ 开启]");
  174 + }
  175 +
  176 + // 情况二:正常情况下的 404
171 177 log.warn("[noHandlerFoundExceptionHandler]", ex);
172 178 return CommonResult.error(NOT_FOUND.getCode(), String.format("请求地址不存在:%s", ex.getRequestURL()));
173 179 }
... ...
yudao-server/src/main/resources/application.yaml
... ... @@ -17,6 +17,8 @@ spring:
17 17 mvc:
18 18 pathmatch:
19 19 matching-strategy: ANT_PATH_MATCHER # 解决 SpringFox 与 SpringBoot 2.6.x 不兼容的问题,参见 SpringFoxHandlerProviderBeanPostProcessor 类
  20 + throw-exception-if-no-handler-found: true # 404 错误时抛出异常,方便统一处理
  21 + static-path-pattern: /static/** # 静态资源路径; 注意:如果不配置,则 throw-exception-if-no-handler-found 不生效!!!
20 22  
21 23 # Jackson 配置项
22 24 jackson:
... ... @@ -25,7 +27,6 @@ spring:
25 27 write-date-timestamps-as-nanoseconds: false # 设置不使用 nanoseconds 的格式。例如说 1611460870.401,而是直接 1611460870401
26 28 write-durations-as-timestamps: true # 设置 Duration 的格式,使用时间戳
27 29 fail-on-empty-beans: false # 允许序列化无属性的 Bean
28   -
29 30 # Cache 配置项
30 31 cache:
31 32 type: REDIS
... ...