gpt4 book ai didi

java - 当 getErrorPath() 返回 "/error"以外的路径时,自定义错误页面不起作用

转载 作者:行者123 更新时间:2023-11-30 05:19:12 25 4
gpt4 key购买 nike

Spring 启动:2.2.2
IDE:Spring 工具套件

创建自定义错误页面的方法之一是创建一个实现 ErrorController 的 Controller 类。通过重写 getErrorPath() 方法并返回 /error,我能够返回预期的自定义错误页面。

但是当我返回 /error 之外的另一个路径时,我收到以下错误:

This localhost page can’t be found. No webpage was found for the web address: http://localhost:8080/bruce

为什么会这样?

@Controller
public class MyErrorController implements ErrorController{

// @RequestMapping("/error")
@RequestMapping("/error1")
public String handleError() {
return "customError";
}

@Override
public String getErrorPath() {

//return "/error";
return "/error1";
}
}

最佳答案

因此,事实证明,getErrorPath 的输出并未用于重定向到 handleErrorRequestMapping

如果您提供以下ErrorController,发生错误时它仍会重定向到/error:

@Controller
public class MyErrorController implements ErrorController {

@RequestMapping("/error")
public String handleError() {
return "customError";
}

@Override
public String getErrorPath() {
return "/some-non-existing-path";
}
}

我什至发现以下代码可以工作,并且 RuntimeException 永远不会被触发:

@Controller
public class CustomErrorController implements ErrorController {

@RequestMapping("/error")
public String handleError() {
return "customError";
}

@Override
public String getErrorPath() {
throw new RuntimeException("This will not be called.");
}
}

关于java - 当 getErrorPath() 返回 "/error"以外的路径时,自定义错误页面不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59825781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com