Spring Boot 配置跨域

 用webstorm打開前端頁面,報跨域了

 方式1:寫個配置類

package com.blogspring.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

/**
 * @Author: qiuj
 * @Description: 處理跨域
 * @Date: 2019/12/1 0001 9:38
 */
@Configuration
public class CORSConfig {

    @Bean
    public CorsFilter corsFilter(){
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        //  設置放行的地址
        corsConfiguration.addAllowedOrigin("http://localhost:63343");
        //  設置是否發送cookie 的信息
        corsConfiguration.setAllowCredentials(true);
        //  允許的請求頭報文
        corsConfiguration.addAllowedHeader("*");
        //  允許的請求方法
        corsConfiguration.addAllowedMethod("*");
        //  設置映射路徑
        UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
        //  請求進來適用於所有的路由
        urlBasedCorsConfigurationSource.registerCorsConfiguration("/**",corsConfiguration);
        return new CorsFilter(urlBasedCorsConfigurationSource);
    }

}

 方式2:在controller 類上或者方法上配置  @CrossOrigin

允許在特定處理程序類*和/或處理程序方法上進行跨域請求的註釋。如果配置了適當的{@code HandlerMapping} *,則進行處理。

package com.blogspring.controller;

import com.baomidou.mybatisplus.extension.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.blogspring.service.ICarouselService;

/**
 * @Author: qiuj
 * @Description:
 * @Date: 2019/12/1 0001 9:05
 */
@RestController
@RequestMapping("/index")
public class IndexController {

    @Autowired
    private ICarouselService iCarouselService;
    @CrossOrigin
    @GetMapping("/carousel")
    public R getCarousel(){
        return iCarouselService.getCarousel();
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章