java - 如何在 Spring Boot 中的每个请求中添加具有静态值所需的特定 Header?
问题描述
在我的 Spring Boot 项目中,我制作了一些RESTful API。现在,对于我的 API 中的每个请求,我想设置一个特定的标头,如下所示 -
如果使用该特定标头名称和标头值调用 Http 请求,则只有这样它才会显示响应代码 ok(200) 否则它将显示一些其他响应代码。
我需要一个配置来修复项目中每个请求的特定标头。所以,我需要一些关于解决这个问题的程序的建议。
解决方案
我认为在这种情况下,如果您想在单点过滤器中处理它们是不错的选择
我希望下面的代码可以让您了解如何使用过滤器来解决您的问题:
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class HeaderCheckerFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request,
HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
String header = request.getHeader("MyHeader");
if (header != null && header.equals("HeaderValue")) {
filterChain.doFilter(request, response);
} else {
response.getWriter().println("invalid request");
}
}
}
推荐阅读
- lua - 赋值突然消失了,有什么解释吗?
- javascript - 如何使用 Typescript 添加 Vue.config.devtools?
- python - Tensorflow:不支持的操作数类型 - :'Sequential'和'Sequential'
- terraform - 使用 Terraform vSphere 提供程序在 vCenter 上分配全局权限
- html - Asp.net mvc - 如何在没有 html 标签的情况下显示富文本?
- r - 在谷歌云平台中从 CRAN 构建 docker 镜像时需要帮助
- php - 用于 recaptcha 的 PHP 5.2 替代语法
- powershell - 有没有办法绕过 Power-Shell 确认(Y/N)提示?
- javascript - 什么是正确的选择方法在 DOM 中?
- r - 检测一列中只有一个数字的行