用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();
}
}