Встречается на собеседованиях • сегодня
Какие знаешь способы фильтрации запросов по заголовку
В Java можно фильтровать запросы по заголовкам несколькими способами:
- Servlet Filter - перехватывает запросы перед сервлетом:
java
public class HeaderFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
if ("valid-value".equals(request.getHeader("X-Custom-Header"))) {
chain.doFilter(req, res);
} else {
((HttpServletResponse) res).sendError(HttpServletResponse.SC_FORBIDDEN);
}
}
}- Spring Interceptor (в Spring MVC):
java
public class AuthInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest req, HttpServletResponse res, Object handler) {
return "valid-token".equals(req.getHeader("Authorization"));
}
}- JAX-RS ContainerRequestFilter (для REST):
java
@Provider
public class JaxRsHeaderFilter implements ContainerRequestFilter {
@Override
public void filter(ContainerRequestContext ctx) {
if (!ctx.getHeaders().containsKey("X-Required-Header")) {
ctx.abortWith(Response.status(Response.Status.BAD_REQUEST).build());
}
}
}- Spring Security - через
HeaderAuthenticationFilterили кастомныеSecurityFilterChainконфигурации.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы