使用keycloak和spring boot,认证成功后,GET请求被转发到/static/index.html文件,而不是下面的RestController方法。下面方法中的 System.out.println 也没有被执行。 从 jdk1.8 迁移到 jdk 21 以及将 spring boot 升级到 3.1.4 后发生此问题 如何解决这个问题。
@RestController
@RequestMapping(("/api/user"))
@Slf4j
public class UserController {
@Autowired
private UserService userService;
@GetMapping("me")
public ResponseEntity<?> me(Principal principal) {
System.out.println("***************************************************************");
if (principal == null) {
return ControllerUtil.getUnauthorizedResponse();
}
return userService.getUserDetails(new IAppsUser(principal));
}
}
我期望它应该在方法 me 中打印 println 语句(主体主体) 并正确执行代码
升级到最新的jdk 21和spring boot 3.1.4后,我发现它不再像以前那样扫描基础包。所以我在主类中添加了这个包,问题就解决了