首页 > 解决方案 > 自定义错误控制器中的 @Controller 和 @RequestMapping

问题描述

我有使用常规 RESTswagger的应用程序。websocketSwagger 有默认端点/api/swagger-ui.html,websocket 有默认端点/api/websocket

我想实现将内部错误重定向到页面的自定义控制器。最初我是这样做的

@Controller("/error")
public class ErrorPageController implements ErrorController {
    ....    
    @GetMapping
    public String handleGetError(HttpServletRequest request) {
        return handleError(request);
    }
    ....

但是,当我使用 swagger 和 websocket 端点时,它会导致重定向。当我改变它

@Controller
@RequestMapping("/error")
public class ErrorPageController

它开始工作正常。这是为什么?

标签: javaspring-bootspring-mvc

解决方案


那么 Controller 是 spring 中的一个专用组件,您传递的值被视为组件名称,而不是该控制器需要处理的路径。


推荐阅读