我正在创建一个像这样的错误控制器:
@Controller
class ErrorController : org.springframework.boot.web.servlet.error.ErrorController {
@RequestMapping
fun handlerError(): String {
return "component/error"
}
override fun getErrorPath(): String {
return "error"
}
}
当我重新启动项目时,我发现默认资源处理程序不起作用(在创建此错误控制器之前它可以工作)!
我的资源文件夹结构:
folder structure
即使我在WebMvcConfiguration中重写addResourceHandler,它也无法正常工作:
override fun addResourceHandlers(registry: ResourceHandlerRegistry) {
registry.addResourceHandler("/public/**")
.addResourceLocations(CLASSPATH_PUBLIC_RESOURCE_LOCATION)
registry.addResourceHandler("/private/**")
.addResourceLocations(CLASSPATH_PRIVATE_RESOURCE_LOCATION)
}
如果我删除ErrorController,一切正常!
我认为,他们应该能够同时工作。
我用谷歌搜索,但没有发现有人问相同的问题(也许我错过了?),所以,有人告诉我为什么和如何 ?
非常感谢您!
已解决:
这是我的错误,我没有在@RequestMapping
的{{1}}中添加值,只是将代码更改为:
ErrorController