前端vue报net::ERR_FAILED 500 (Internal Server Error)

spring boot的filter抛出的自定义异常,使用自定义controller来捕获。

复制代码
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;

/**
 * 捕获filter抛出的异常交由BusinessExceptionAdvice处理
 * 请求进来 会按照 filter -> interceptor -> controllerAdvice -> aspect -> controller的顺序调用
 * 当controller返回异常 也会按照controller -> aspect -> controllerAdvice -> interceptor -> filter来依次抛出
 *
 * @author dengdxu
 * @Datetime 2024/8/24
 **/
@Controller
public class ErrorControllerImpl implements ErrorController {

    public String getErrorPath() {
        return "/error";
    }

    @RequestMapping("/error")
    public void handleError(HttpServletRequest request) throws Throwable {
        if (request.getAttribute("javax.servlet.error.exception") != null) {
            throw (Throwable) request.getAttribute("javax.servlet.error.exception");
        }
    }
}

其他业务异常正常返回,但是filter异常在前端报跨域异常:No 'Access-Control-Allow-Origin' header is present, net::ERR_FAILED 500 (Internal Server Error)

这是由于自定义的controller没有配置跨域,给ErrorControllerImpl 加上@CrossOrigin注解就可以了

相关推荐
橘子星14 小时前
深入理解 AJAX 中的 JSON 序列化与 JS 异步处理
前端·javascript·后端
旧曲重听114 小时前
2026前端技术从「夯」到「拉」
前端·程序人生·职场和发展·软件工程
Kapaseker14 小时前
我找到了最适合程序员的 PPT 工具 — Slidev
前端
夏幻灵15 小时前
深度解析 JavaScript 异步编程:从回调地狱到 Promise 的重构
开发语言·javascript·重构
雾削木15 小时前
B语言经典教程现代化重构
java·前端·stm32·单片机·嵌入式硬件
Cobyte15 小时前
20.Vue Vapor 的应用初始化
前端·javascript·vue.js
乘风gg15 小时前
手把手带你实践历时一年总结的 AI Code Review 最佳工作流!
前端·ai编程·cursor
禅思院15 小时前
POST请求发两次?一次讲透CORS预检机制,面试不再翻车
前端·架构·前端框架
IT_陈寒15 小时前
SpringBoot自动配置这么智能,为啥我写的Bean注入不了?
前端·人工智能·后端
LT101579744415 小时前
2026年Web自动化测试工具选型指南:多浏览器兼容解决方案
前端·测试工具·自动化