Spring MVC 3 - Ответить на запрос с 404? - PullRequest
11 голосов
/ 10 февраля 2010

В моем контроллере я делаю проверку прав доступа, чтобы увидеть, может ли пользователь выполнить определенное действие Если они не могут, я бы хотел вернуть 404.

Как мне сказать Spring вернуть 404?

Ответы [ 2 ]

21 голосов
/ 10 февраля 2010

Вы можете вызвать исключение и обработать его в методе уровня контроллера:

@Controller
public class MyController {

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

Если какой-либо метод контроллера выбрасывает UnauthorizedException., вышеупомянутый метод-обработчик будет вызван для его обработки и выдаст ошибку 404.

0 голосов
/ 10 февраля 2010

Вы можете получить свое исключение из кода HttpException и пути 404 к базовому конструктору:

public class MyNotFoundException : HttpException
{
    public MyNotFoundException(string message, Exception inner)
        : base(404, message, inner)
    {
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...