开发喵星球

若依如何配置允许跨域访问(四十一)

一、单个控制器方法CORS注解

@RestController
@RequestMapping("/system/test")
public class TestController {

    @CrossOrigin
    @GetMapping("/{id}")
    public AjaxResult getUser(@PathVariable Integer userId) {
        // TODO
    }

    @DeleteMapping("/{userId}")
    public AjaxResult delete(@PathVariable Integer userId) {
        // TODO
    }
}

二、整个控制器启用CORS注解

@CrossOrigin(origins = "http://ruoyi.vip", maxAge = 3600)
@RestController
@RequestMapping("/system/test")
public class TestController {

    @GetMapping("/{id}")
    public AjaxResult getUser(@PathVariable Integer userId) {
        // TODO
    }

    @DeleteMapping("/{userId}")
    public AjaxResult delete(@PathVariable Integer userId) {
        // TODO
    }
}

三、全局CORS配置(在ResourcesConfig重写addCorsMappings方法)

第1种方式:

/**
 * web跨域访问配置
 */
@Override
public void addCorsMappings(CorsRegistry registry)
{
    // 设置允许跨域的路径
    registry.addMapping("/**")
            // 设置允许跨域请求的域名
            .allowedOrigins("*")
            // 是否允许证书
            .allowCredentials(true)
            // 设置允许的方法
            .allowedMethods("GET", "POST", "DELETE", "PUT")
            // 设置允许的header属性
            .allowedHeaders("*")
            // 跨域允许时间
            .maxAge(3600);
}

第2种方式:

/**
 * web跨域访问配置
 */
@Override
public void addCorsMappings(CorsRegistry registry)
{
    // 设置允许跨域的路径
    registry.addMapping("/**")
            // 设置允许跨域请求
            .allowedOriginPatterns("*")
            // 是否允许证书
            .allowCredentials(true)
            // 设置允许的方法
            .allowedMethods("GET", "POST", "DELETE", "PUT")
            // 设置允许的header属性
            .allowedHeaders("*")
            // 跨域允许时间
            .maxAge(3600);
}
   
分类:Java/OOP 作者:无限繁荣, 吴蓉 发表于:2023-11-13 19:09:11 阅读量:246
<<   >>


powered by kaifamiao