Cześć,
bardzo często spotykana sytuacja przy wystawianiu endpointów:
@GetMapping(value = "/get_book/{id}")
void endpoint(@PathVariable id){
// sprawdź czy książka o takim id jest w tabeli w bazie danych. Jeżeli nie, NOT_FOUND exception.
}
Jak można najlepiej zrobić takie sprawdzanie na możliwie wysokim poziomie, tj. uwspólnić? Wiadomo, że tego typu endpointów (oczywiście w zależności od konkretnej domeny) może być bardzo dużo.
Zastanawiam się, jak takie coś zrobić?
*Dziedziczenie po jakiejś klasie i wołanie super? Raczej słabo- mamy jakąś sztuczną nadklasę dla różnych, niezwiązanych ze sobą klas....
*Delegat? Też widzę raczej minusy.
Pytanie dotyczy oczywiście Spring'a (SpringBoota).
Jak w takim razie zrealizować to możliwie "najczyściej"?
Myślałem o zastosowaniu aspektów, ale nigdy tego nie robiłem i jedynie teoretycznie widzę, że może by się nadawały. Ale tak jak mówię, nie wiem, bo nigdy nie widziałem ich w akcji i nie wiem czy to nie jest overwork tutaj. Zwłaszcza, że jak powiedziałem kolegom z firmy to usłyszałem: "Nie cuduj, rób normalnie, po ludzku".
Z góry dzięki za odpowiedź!
Wołam @Koziołek
P.S. jestem początkujący w Springu.