В моем контроллере я делаю проверку разрешений, чтобы узнать, может ли пользователь выполнить определенное действие. Если они не могут, я бы хотел вернуть 404.
Как сообщить Spring о возврате 404?
Ответ 1
Вы можете создать исключение и обработать его в методе уровня контроллера:
@Controller
public class MyController {
@ResponseStatus(NOT_FOUND)
@ExceptionHandler({UnauthorizedException.class})
public void handle() {
// ...
}
}
Если какой-либо метод контроллера выбрал UnauthorizedException., метод обработчика выше будет вызываться для его обработки и возврата ошибки 404.
Ответ 2
Вы можете получить свое исключение из HttpException и кода 404 в базовый конструктор:
public class MyNotFoundException : HttpException
{
public MyNotFoundException(string message, Exception inner)
: base(404, message, inner)
{
}
}