1. 程式人生 > 實用技巧 >解決Access-Control-Allow-Origin跨域問題

解決Access-Control-Allow-Origin跨域問題

說明:本次的測試環境是一臺電腦,啟動兩個springboot應用,如果是其它情況,可能稍有不同,發現時在補充吧。

方法一:給response設定header

public User getUser(HttpServletResponse response) {
    response.setHeader("Access-Control-Allow-Origin","*");
    User user = new User(1,"張三",20);
    return user;
}

方法二:添加註解,如果新增到類上,那麼整個類中的方法都可以跨域訪問

@CrossOrigin
public
User getUser2(HttpServletResponse response) { User user = new User(2,"李四",20); return user; }

方法三:在攔截器中設定response的header,以下是springboot中的寫法

public class WebInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception { response.setHeader("Access-Control-Allow-Origin","*"); return true; } }
@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer{

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(
new WebInterceptor()); } }