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?

questionAnswers(3)

yourAnswerToTheQuestion