Senior
53
Comment valider l'en-tête X-Trace-ID : si l'en-tête n'est pas présent, retourner 400 ?
Entreprises à qui on a demandé
Réponse de l'IA
sobes.tech IA
В Java, если используете Spring Boot, можно реализовать проверку заголовка X-Trace-ID в контроллере или через фильтр. Например, через фильтр, который проверяет наличие заголовка и возвращает 400, если его нет:
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpFilter;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
public class TraceIdFilter extends HttpFilter {
@Override
protected void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
throws IOException, ServletException {
String traceId = request.getHeader("X-Trace-ID");
if (traceId == null || traceId.isEmpty()) {
response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Missing X-Trace-ID header");
return;
}
chain.doFilter(request, response);
}
}
Затем этот фильтр регистрируется в конфигурации приложения. Такой подход централизует проверку заголовка для всех запросов.