TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #2238 2.02K
Spring Boot: Лучше использовать глобальные фильтры/интерсепторы только для действительно сквозных (cross-cutting) задач и избегать бизнес-логики. Они выполняются для каждого входящего HTTP-запроса.

Некоторые хорошие кейсы использования сквозной функциональности (cross-cutting concerns), реализуемой через фильтры и интерсепторы:

Фильтры (раньше, чем Spring MVC):

- Обработка CORS
- Кодировка (CharacterEncodingFilter)

Интерсепторы (Spring MVC):

- Проверки аутентификации/авторизации
- Замер времени выполнения запроса / метрики
- Обработка локали
- Добавление общих заголовков

Плохой пример:

@Component
public class SubscriptionInterceptor implements HandlerInterceptor {

@Autowired
private UserService userService;

@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler) throws Exception {

String userId = request.getHeader("X-USER-ID");

// Бизнес-логика + обращение к БД внутри интерсептора
User user = userService.findById(userId);

if (user.getSubscription().isExpired()) {
response.setStatus(403);
response.getWriter().write("Subscription expired");
return false;
}

return true;
}
}


👉 Java Portal
Telegram Java Portal | Программирование Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg
  • ❤ 5
More from @java_iibrary
  1. Sep 25, 2026Каждый Java-разработчик использует HashMap. Но задумывались ли вы… Почему его ёмкость всег…
  2. Sep 25, 2026Бесплатные ресурсы для изучения Java Конспект Effective Java — HugoMatilla/Effective-JAVA-…
  3. Sep 24, 2026Многие разработчики используют Java каждый день. Но мало кто знает, почему он стал одним и…
  4. Sep 24, 2026Java-разработчики, в чём разница между volatile и synchronized? Многие используют их. Но в…
  5. Sep 23, 2026Готовимся к System Design интервью уровня Middle и Senior Полезный конспект по проектирова…
  6. Sep 23, 2026Java-разработчики, знаете разницу между Shallow Copy и Deep Copy? Вы копируете объект, но…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →