Dynamiczna zmiana @ResponseStatus w sterowanym adnotacjami Spring MVC
Naprawdę nie jestem pewien, czy jest to możliwe przy użyciu Spring 3.2 MVC.
Mój kontroler ma metodę zadeklarowaną jak poniżej:
@RequestMapping(method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public @ResponseBody List<Foo> getAll(){
return service.getAll();
}
Pytania:
Jakie jest znaczenie@ResponseStatus(HttpStatus.OK)
?Czy oznacza to, że metoda zawsze zwróci aHttpStatus.OK
Kod statusu.Co zrobić, jeśli z warstwy usług zostanie zgłoszony wyjątek?Czy mogę zmienić status odpowiedzi w przypadku wystąpienia dowolnego wyjątku?Jak mogę obsługiwać wiele statusów odpowiedzi w zależności od warunków w tej samej metodzie?