当用户尝试访问首先需要身份验证的页面时,我正在尝试抛出ForbiddenException
。但是,它却给了我ClassNotFoundException
。
我想做的是在异常处理程序类中处理ForbiddenException
并返回适当的HTML文件(错误/ 403)。
我知道我可以从控制器返回视图,但是我想通过异常处理程序来做到这一点。请建议如何实现?
我在'javax.ws.rs:javax.ws.rs-api:2.0'
中添加了实施build.gradle
import javax.ws.rs.ForbiddenException;
@GetMapping("/mypage")
public ModelAndView displayMypage(ModelAndView modelAndView) {
if (httpSession.getAttribute("token") == null) {
throw new ForbiddenException();
}
String accessToken =
httpSession.getAttribute("token").toString();
// ユーザー情報取得
GitHubTemplate gitHubTemplate = new GitHubTemplate(accessToken);
GitHubUserProfile gitHubUserProfile = gitHubTemplate.userOperations().getUserProfile();
String userName = gitHubUserProfile.getUsername();
// ユーザー情報をセットして、mypageを返す
modelAndView.addObject("userName", userName);
modelAndView.setViewName("mypage");
return modelAndView;
}
答案 0 :(得分:-2)
我在这里看到的是您正在尝试引发异常,但是也许您应该首先检查如何正确处理异常,请检查下面的链接以获取有关如何处理异常的更多信息,也许可以帮忙。 / p>