【发布时间】:2011-01-15 09:06:04
【问题描述】:
在我的控制器中,我进行权限检查以查看用户是否可以执行特定操作。如果他们不能,我想返回 404。
如何告诉 Spring 返回 404?
【问题讨论】:
-
@axtavt 这个页面上的答案是我使用的。谢谢
-
你真的应该用 403 来回应 ..
标签: java spring spring-mvc
在我的控制器中,我进行权限检查以查看用户是否可以执行特定操作。如果他们不能,我想返回 404。
如何告诉 Spring 返回 404?
【问题讨论】:
标签: java spring spring-mvc
您可以抛出异常并在控制器级别的方法中处理它:
@Controller
public class MyController {
@ResponseStatus(NOT_FOUND)
@ExceptionHandler({UnauthorizedException.class})
public void handle() {
// ...
}
}
如果任何控制器方法抛出UnauthorizedException.,则将调用上述处理程序方法来处理它并返回404错误。
【讨论】:
您可以将异常从 HttpException 和路径 404 代码派生到基本构造函数:
public class MyNotFoundException : HttpException
{
public MyNotFoundException(string message, Exception inner)
: base(404, message, inner)
{
}
}
【讨论】:
HttpException 类。