Solon 的跨域处理，由 [solon-web-cors](/article/270) 插件提供支持。在 [solon-web](/article/281) 快速集成开发包内已包含。主要有三种使用方式（以下只是示例，具体配置按需而定）。



### 1、加在控制器上，或方法上

```java
@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、加在控制器基类

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

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

```

### 3、全局加在应用上

```java
public class App {
    public static void main(String[] args) {
        Solon.start(App.class, args, app->{
            //例：或者：增加全局处理（用过滤器模式）
            app.filter(-1, new CrossFilter().allowedOrigins("*")); //加-1 优先级更高
            
            //例：或者：增某段路径的处理
            app.filter(new CrossFilter().pathPatterns("/user/**").allowedOrigins("*"));
            
            //例：或者：增加全局处理（用过路由过滤器模式）
            app.routerInterceptor(-1, new CrossInterceptor().allowedOrigins("*")); //加-1 优先级更高
        });
    }
}
```