Как я заставляю контроллер Spring 3.0 инициировать 404?
У меня есть контроллер с @RequestMapping(value = "/**", method = RequestMethod.GET)
и для некоторых URL, получающих доступ к контроллеру, я хочу, чтобы контейнер придумал 404.
Начиная с Spring 3.0 также можно выдать Исключение, объявленное с аннотация @ResponseStatus
:
@ResponseStatus(value = HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
...
}
@Controller
public class SomeController {
@RequestMapping.....
public void handleCall() {
if (isFound()) {
// whatever
}
else {
throw new ResourceNotFoundException();
}
}
}
Переписывают вашу сигнатуру метода так, чтобы она приняла HttpServletResponse
в качестве параметра, так, чтобы можно было звонить setStatus (интервал)
на ней.