您必须添加
HandlerMapping
并将其添加到处理程序列表中。您还需要指定处理请求的处理程序的顺序:
@Bean
public SimpleUrlHandlerMapping simpleUrlHandlerMapping() {
SimpleUrlHandlerMapping simpleUrlHandlerMapping
= new SimpleUrlHandlerMapping();
Map<String, Object> urlMap = new HashMap<>();
urlMap.put("/**", defaultController());
simpleUrlHandlerMapping.setUrlMap(urlMap);
simpleUrlHandlerMapping.setOrder(1);
return simpleUrlHandlerMapping;
}
这里
defaultController()
方法返回
@Controller
,您已经为给定映射定义了,所以
DefaultController
. 这个
setOrder
方法定义处理程序的优先级(顺序),从0开始。当然有些违约
handler映射
必须定义为
@Bean
也。关于这种配置的更多信息,您可以找到
here
.
用@tobia的一些想法编辑:
你需要移除
@RequestMapping
注释,以便控制器不被
RequestMappingHandlerMapping
并实施
AbstractController
用于重写中控制器定义的接口
handleRequestInternal()
.