Spring MVC 3 - 用404响应请求?

时间:2010-02-10 17:14:31

标签: java spring spring-mvc

在我的控制器中,我会进行权限检查以查看用户是否可以执行某项操作。如果他们不能,我想返回404。

如何告诉Spring返回404?

2 个答案:

答案 0 :(得分:21)

您可以抛出异常并在控制器级方法中处理它:

@Controller
public class MyController {

    @ResponseStatus(NOT_FOUND)
    @ExceptionHandler({UnauthorizedException.class})
    public void handle() {
        // ...
    }
}

如果任何控制器方法抛出UnauthorizedException.,将调用上述处理程序方法来处理它并返回404错误。

答案 1 :(得分:-3)

您可以从HttpException和路径404代码派生您的异常到基础构造函数:

public class MyNotFoundException : HttpException
{
    public MyNotFoundException(string message, Exception inner)
        : base(404, message, inner)
    {
    }
}