在renren-fast后台中添加拦截器:
@Component
@Slf4j
public class CorsInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
super.preHandle(request, response, handler);
response.addHeader("Access-Control-Allow-Origin","http://localhost:8001");
response.addHeader("Access-Control-Allow-Credentials", String.valueOf(true));
// response.setHeader("Access-Control-Allow-Headers", "*");
response.setHeader("Content-Type","*");
response.setHeader("Access-Control-Allow-Methods", "*");
response.setHeader("Access-Control-Allow-Headers","token,content-type");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
super.postHandle(request, response, handler, modelAndView);
// response.addHeader("Access-Control-Allow-Origin","http://localhost:8001");
}
}
拦截对象为所有
- 跨域时response的头部Access-Control-Allow-Origin,需要和前端的地址相同
- Access-Control-Allow-Credentials需要为true
- 由于前端使用了token,所以要设置response.setHeader(“Access-Control-Allow-Headers”,“token,content-type”);