То, что вы ищете, является очень хорошо известным требованием. Шаблон, который обеспечивает решение, является Фильтром и существует как концепция в самых ранних версиях спецификации J2EE. В те времена, когда мы (динозавры) писали сервлеты, вы могли добавить фильтр к вашему сервлету, который перехватывает оба: запрос до того, как он попадет в ваш сервлет, и ответ после того, как он сгенерирован вашим сервлетом, но до того, как он будет отправлен на сторону клиента. ,В вашем фильтре вы можете регистрировать информацию, перенаправлять ее в другое место назначения, отказывать в ней или делать все что угодно. Та же концепция остается неизменной. Вам нужно определить фильтр для всех или некоторых ваших конечных точек и в вашем фильтре выполнить регистрацию. Если вы работаете с загрузкой Spring, вот статья, которая описывает, как добавить фильтры для конечных точек в Spring Boot: Как определить фильтр загрузки Spring?