@ApiOperation("獲取店鋪列表")
@GetMapping("/list")
//加此注譯解決跨域訪問
@CrossOrigin
public AjaxResult StoreList()
{
List
return AjaxResult.success(userList);
}
解決:單個控制器方法實測可行。(其它二種暫時測試出錯)
如何配置允許跨域訪問
現在開發的項目一般都是前后端分離的項目,所以跨域訪問會經常使用。
1、單個控制器方法CORS注解
@RestController@RequestMapping("/system/test")public class TestController {
@CrossOrigin
@GetMapping("/{id}")
public AjaxResult getUser(@PathVariable Integer userId) {
// ...
}
@DeleteMapping("/{userId}")
public AjaxResult delete(@PathVariable Integer userId) {
// ...
}}
2、整個控制器啟用CORS注解
@CrossOrigin(origins = "http://ruoyi.vip", maxAge = 3600)@RestController@RequestMapping("/system/test")public class TestController {
@GetMapping("/{id}")
public AjaxResult getUser(@PathVariable Integer userId) {
// ...
}
@DeleteMapping("/{userId}")
public AjaxResult delete(@PathVariable Integer userId) {
// ...
}}
3、全局CORS配置(在ResourcesConfig重寫addCorsMappings方法)
/**
- web跨域訪問配置
/@Overridepublic void addCorsMappings(CorsRegistry registry){
// 設置允許跨域的路徑
registry.addMapping("/**")
// 設置允許跨域請求的域名
.allowedOrigins("")
// 是否允許證書
.allowCredentials(true)
// 設置允許的方法
.allowedMethods("GET", "POST", "DELETE", "PUT")
// 設置允許的header屬性
.allowedHeaders("*")
// 跨域允許時間
.maxAge(3600);}