springboot运行时报如下错误:
Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘POST’ not supported]
前台
<form class="form-signin" action="dashboard.html" th:action="@{/user/login}" method="POST">
请求没有什么问题
后台controller
@PostMapping(value = "/user/login")
public String login(@RequestParam("username") String username,
@RequestParam("password") String password,
Map<String,Object> map, HttpSession session){
发现后台和前台都没有什么问题,
再检查一下注册拦截器的步骤:
@Override
public void addInterceptors(InterceptorRegistry registry) {
//静态资源;
registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**")
.excludePathPatterns("/login.html","/","user/login")
.excludePathPatterns("/asserts/**","/webjars/**");
}
经过检查排除/user/login请求的时候少了一个"/"
应该是
registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**")
.excludePathPatterns("/login.html","/","/user/login")
.excludePathPatterns("/asserts/**","/webjars/**")
这样就造成了前台form /user/login请求报POST 405;
下次写代码一定要小心谨慎。