我在Spring网络应用中遇到了请求映射问题。这是我的控制器:
@RestController
@RequestMapping("/user")
public class UserController {
@RequestMapping("/is-logged")
public Boolean isLogged() {
return UserUtils.getUser() != null;
}
@RequestMapping("/account")
public AccountView getAccount() {
return UserUtils.getUser();
}
}
如果我尝试请求http://localhost:8080/server/user/is-logged
,我会收到布尔值。如果我尝试请求http://localhost:8080/server/user/account
,则会收到404错误消息。但是,如果我将请求映射注释从account
更改为其他任何内容,则一切正常。我试了两次,结果总是一样。
我正在使用Maven构建和Apache Tomcat 8.5.0
它是某种隐藏的Spring MVC或Spring Security映射吗?这是我的Spring Security配置:
http.csrf().disable()
.headers().frameOptions().disable()
.headers().xssProtection().disable()
.headers().httpStrictTransportSecurity().disable()
// .addFilterBefore(usernamePasswordAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class)
.httpBasic().disable()
.formLogin()
.loginProcessingUrl("/server/login")
.successHandler(successHandler())
.failureHandler(failureHandler())
.and()
.sessionManagement()
.sessionFixation().migrateSession()
.sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED)
.and()
.logout()
.logoutUrl("/server/logout")
.deleteCookies("JSESSIONID")
.logoutSuccessHandler(successLogoutHandler())
.invalidateHttpSession(true);