"Każdy moduł powinien mieć swoje @ControllerAdvice, a nie jeden wielki GodAdvice, który ma potencjał przekroczyć 1k lini kodu" - można zrobić jeden ControllerAdvice, który będzie obsługiwał np. wyjątki dziedziczące po GenericShelterException? Każdy wyjątek mojej aplikacji dziedziczyłby wtedy po tym GenericShelterException, a dodatkowo przechowywałbym tam kod HTTP, który w konstruktorze byłby nadawany?
Gdy próbowałem zrobić jak mówisz - zwracać void/obiekt z metod restowego kontrolera to wszystko jest OK, z wyjątkiem zwracania Stringa (wiadomość z obiektu wyjątku) z metody controller advice'a.... wtedy Spring zwracał mi cały obiekt różnych informacji, zamiast po prostu serializować wiadomość do response'a... :(
WYDAJE MI SIĘ, że Spring może traktować zwracany String jako nazwa widoku, jednak nie jestem pewien, ze względu na to, że nie mam tutaj skonfigurowanego ViewResolvera, a żadnego silnika szablonów typu Thymeleaf ręcznie nie dołączałem (by mieć defaultową konfigurację)...
Jak na razie rozwiązałem ten problem tym "GenericShelterException" i podoba mi się to rozwiązanie, jednak chciałbym się dowiedzieć, dlaczego Spring robi to co robi przy zwracaniu Stringa z metody :)
Z góry dzięki :)