首先要解决跨域问题,在配置文件中添加跨域设置。
spring:
application:
name: my-e-study-gateway
cloud:
gateway:
globalcors:
cors-configurations:
'[/**]':
allowedOrigins: "*"
allowedMethods: "*"
allowedHeaders: "*"
Java后台代码,将header中的token暴露给前端。
// 向响应header添加token
response.getHeaders().add("token",null == token ? "null" : token);
// 关键代码 将token 暴露给前端,如果没有这行代码前端发起请求后看不到 header中的 token
response.getHeaders().setAccessControlExposeHeaders(
Collections.singletonList("token"));
// 设置跨域
response.getHeaders().setAccessControlAllowOrigin("*");
//允许暴露的方法类型
response.getHeaders().setAccessControlAllowMethods(Arrays.asList
(HttpMethod.POST,HttpMethod.GET,HttpMethod.OPTIONS,HttpMethod.DELETE));
// 设置有效时间
response.getHeaders().setAccessControlMaxAge(3600);
response.getHeaders().setAccessCo