Встречается на собеседованиях • сегодня
Как реализован паттерн Chain of Responsibility в Spring
В Spring Chain of Responsibility реализуется через цепочку фильтров (Filter) в веб-приложениях или через HandlerInterceptor. Также можно использовать @ControllerAdvice для обработки исключений в цепочке.
Пример с фильтрами:
java
@Component
@Order(1)
public class AuthFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
// Проверка аутентификации
if (isAuthenticated(req)) {
chain.doFilter(req, res); // Передаём следующему фильтру
} else {
throw new AuthenticationException();
}
}
}
@Component
@Order(2)
public class LoggingFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
logRequest(req);
chain.doFilter(req, res); // Передача дальше
logResponse(res);
}
}
text
Фильтры выполняются в порядке, заданном аннотацией `@Order`. Каждый решает, передавать ли запрос дальше (`chain.doFilter()`) или прервать цепочку.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы