Url的一般格式: 协议 + 域名(子域名 + 主域名) + 端口号 + 资源地址 只要协议,子域名,主域名,端口号这四项组成部分中有一项不同,就可以认为是不同的域,不同的域之间互相访问资源,就被称之为跨域。
该类下的所有接口都可以通过跨域访问
@RequestMapping("/demo2") @RestController //@CrossOrigin //所有域名均可访问该类下所有接口
@CrossOrigin("https://cloud.tencent.com") // 只有指定域名可以访问该类下所有接口
public class CorsTest2Controller {
@GetMapping("/sayHello")
public String sayHello() {
return "hello world --- 2";
}
}
@Component public class CorsFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponzse response, FilterChain chain)throws IOException, ServletException {
HttpServletResponse res = (HttpServletResponse) response;
res.addHeader("Access-Control-Allow-Credentials", "true");
res.addHeader("Access-Control-Allow-Origin", "*");//*表示允许所有域名
res.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT");
res.addHeader("Access-Control-Allow-Headers", "Content-Type,X-CAF-Authorization-Token,sessionToken,X-TOKEN");//允许header中哪些参数跨域
if (((HttpServletRequest) request).getMethod().equals("OPTIONS")) {
response.getWriter().println("ok");
return;
}
chain.doFilter(request, response);
}
@Override
public void destroy() { }
@Override
public void init(FilterConfig filterConfig) throws ServletException { } }
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。