Встречается на собеседованиях • сегодня

Как узнать, что вызывает методы контроллера без документации

В Spring можно использовать AOP (Aspect-Oriented Programming) для логирования вызовов методов контроллера. Пример с аннотацией @Before:

java
@Aspect
@Component
public class ControllerLoggingAspect {
    private static final Logger logger = LoggerFactory.getLogger(ControllerLoggingAspect.class);

    @Before("execution(* com.example.controllers.*.*(..))")
    public void logControllerMethod(JoinPoint joinPoint) {
        logger.info("Method called: {} with args: {}", 
            joinPoint.getSignature().toShortString(), 
            Arrays.toString(joinPoint.getArgs()));
    }
}

Другие способы:

  1. Логирование в Spring Boot через logging.level.org.springframework.web=DEBUG
  2. Использование HandlerInterceptor для перехвата запросов
  3. Дебаггер с точкой останова в контроллерах

Для REST API можно добавить фильтр для логирования входящих запросов:

java
@Component
public class RequestLoggingFilter extends OncePerRequestFilter {
    @Override
    protected void doFilterInternal(...) {
        logger.info("Request: {} {}", request.getMethod(), request.getRequestURI());
        chain.doFilter(request, response);
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы