升级 Spring Boot 3.2 遇到的一些问题

mybatis 报错 java.lang.IllegalArgumentException: Invalid value type for attribute ‘factoryBeanObjectType’

更新依赖到最新版本

https://stackoverflow.com/questions/77590308/error-when-springboot3-combines-with-mybatis-plus-3-5-and-jdk-17/77625250#77625250

404 抛出的异常

现在找不到路由的 404 会抛出 NoResourceFoundException 异常,可以通过 ExceptionHandler 正确处理。

这是个很不错的改动,尤其是在需要统一处理异常,并返回统一返回值类型的场景。原本只会返回这种东西:

{
    "timestamp": "2023-12-11T13:26:38.174+00:00",
    "status": 404,
    "error": "Not Found",
    "path": "/api/method"
}

需要注意,如果使用了自定义的全局 ExceptionHandler,需要在自己的 ExceptionHandler 中对 NoResourceFoundException 进行特殊处理,不然会返回 500 错误而不是 404,影响上层中间件的判断。

Issue:https://github.com/spring-projects/spring-boot/issues/38733

ReleaseNote:https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x#web-applications

CR:https://github.com/spring-projects/spring-framework/issues/29491

 

CC BY-NC-SA 4.0 本作品使用基于以下许可授权:Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注