java - 自定义错误控制器中的 @Controller 和 @RequestMapping
问题描述
我有使用常规 RESTswagger
的应用程序。websocket
Swagger 有默认端点/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
它开始工作正常。这是为什么?
解决方案
那么 Controller 是 spring 中的一个专用组件,您传递的值被视为组件名称,而不是该控制器需要处理的路径。
推荐阅读
- python - Python 包应该如何指定需要安装什么才能使用它(而不是运行它)?例如 pylint
- android-studio - 使用 IntelliJ Idea 和 Android Studio 为同一个 GitHub 项目做贡献
- java - 临时 - 无法找到到所请求目标的有效认证路径
- javascript - 有没有办法让机器人知道公会成员何时登录不和谐服务器?
- xml - 从打印文件中捕获文本
- javascript - React:如何在使用 react-scroll 滚动时禁用单击?
- python - 为什么我的while循环会再次要求输入,即使它符合条件
- css - 为什么我的网格项目在 safari 中没有在 chrome 和 firefox 中拉伸
- lightningchart - 如何配置类似于 TradingView 的 LightningChart JS 鼠标交互
- android - Hilt - 我应该@Provides 我的基本 URL 还是 API 密钥?