【发布时间】:2018-06-22 17:51:32
【问题描述】:
我有一个扩展 Filter 类的类,它看起来像:
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class CorsFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
System.out.println("--------------------------------------");
HttpServletRequest request = (HttpServletRequest) req;
req.setAttribute("test", "test");
final HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type");
response.setHeader("Access-Control-Max-Age", "3600");
if ("OPTIONS".equalsIgnoreCase(((HttpServletRequest) req).getMethod())) {
response.setStatus(HttpServletResponse.SC_OK);
} else {
chain.doFilter(req, res);
}
}
问题是我可以将自定义header 添加到request 吗?我浏览了request 和req 中可用的所有方法,但找不到任何方法。但是在debug 模式下,我发现CoyoteRequest 里面是headers 的列表。如何在其中添加我的自定义 header?
【问题讨论】:
标签: spring servlets filter header request