Solon

九、跨域处理

Solon 的跨域处理,由 solon.web.cors 插件提供支持。在 solon-web 快速集成开发包内已包含。主要有三种使用方式。

1、加在控制器上,或方法上

@CrossOrigin(origins = "*")
@Controller
public class Demo1Controller {
    @Mapping("/hello")
    public String hello() {
        return "hello";
    }
}

@Controller
public class Demo2Controller {
    @CrossOrigin(origins = "*")
    @Mapping("/hello")
    public String hello() {
        return "hello";
    }
}

2、加在控制器基类

@CrossOrigin(origins = "*")
public class BaseController {
    
}

@Controller
public class Demo3Controller extends BaseController{
    @Mapping("/hello")
    public String hello() {
        return "hello";
    }
}

3、全局加在应用上

public class App {
    public static void main(String[] args) {
        SolonApp app = Solon.start(App.class, args);

        //增加全局处理
        app.before(new CrossHandler().allowedOrigins("*"));
        
        //或者增某段路径的处理
        app.before("/user/**", new CrossHandler().allowedOrigins("*"));
    }
}