这是场景:
我创建了以下自定义响应异常,以触发401 Http Status:
@ResponseStatus(value = HttpStatus.UNAUTHORIZED)
public class HttpUnauthorizedException extends RuntimeException {
}
使用异常的控制器:
@Controller
public UserController {
@RequestMapping(value = "api/user")
@ResponseBody
public String doLogin(
@RequestParam(value = "username", required = false) String username, @RequestParam(value = "password", required = false) String password) {
if(userLoggedIn(String username, String password)) {
return "OK";
}
else {
throw new HttpUnauthorizedException();
}
}
...
}
现在,当我尝试访问控制器以查看401异常时,服务器将触发Http错误代码500.但是有趣的是,当我尝试使用HttpStatus.NOT_FOUND时,它实际上可以工作,服务器会触发404.在这里我缺少什么吗?
提前致谢 :-)