若依框架外部系统跨域访问API接口


@ApiOperation("获取店铺列表")
@GetMapping("/list")
//加此注译解决跨域访问
@CrossOrigin
public AjaxResult StoreList()
{
List userList = storesService.selectStoresList(new Stores());
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);}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM