gpt4 book ai didi

java - 自定义错误 Controller 中的@Controller和@RequestMapping

转载 作者:行者123 更新时间:2023-11-30 01:49:40 25 4
gpt4 key购买 nike

除了常规 REST 之外,我还有使用 swaggerwebsocket 的应用程序。 Swagger 有默认端点 /api/swagger-ui.html,websocket 有默认端点 /api/websocket

我想实现将内部错误重定向到页面的自定义 Controller 。本来我是这样做的

@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("/error")

根据Spring Docs :

@Controller

The annotation serves as a specialization of @Component, allowing for implementation classes to be autodetected through classpath scanning. It is typically used in combination with annotated handler methods based on the RequestMapping annotation.

您可以传递的可选元素:

@Controller(字符串值)

The value may indicate a suggestion for a logical component name, to be turned into a Spring bean in case of an auto-detected component.

可以得出,@Controller("/error")中的/error只是一个组件名称,而不是路径。

关于java - 自定义错误 Controller 中的@Controller和@RequestMapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56513380/

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