### 1、使用 Java 配置类进行构建

* 简单点的（注意，构建的 Bean 必须有名字）

```java
@Configuration
public class DocConfig {
    @Bean("appApi")
    public DocDocket appApi() {
        return new DocDocket()
                .groupName("app端接口")
                .apis("com.swagger.demo.controller.app");

    }
}
```

* 丰富点的


```java
@Configuration
public class DocConfig {
    @Bean("adminApi")
    public DocDocket adminApi() {
        return new DocDocket()
                .groupName("admin端接口")
                .info(new ApiInfo().title("在线文档")
                        .description("在线API文档")
                        .termsOfService("https://gitee.com/noear/solon")
                        .contact(new ApiContact().name("demo")
                                .url("https://gitee.com/noear/solon")
                                .email("demo@foxmail.com"))
                        .version("1.0"))
                .schemes(Scheme.HTTP, Scheme.HTTPS)
                .globalResponseInData(true)
                .globalResult(Result.class)
                .apis("com.swagger.demo.controller.admin"); //可以加多条，以包名为单位

    }
}
```


### 2、使用 `solon.docs` 配置格式自动构建（v2.9.0 后支持）


使用 `solon.docs` 配置，可以替代 solon bean 的构建方式。格式如下

```yml
solon.docs:
  discover: ...
  routes:
     - DocDocket
     - DocDocket
```

* discover，用于配置分布式发现服务相关的（即，自动配置文档）
* routes，是一个 `Map<String,DocDocket>` 结构，用于配置文档路由（即，手动配置文档）

以上面的 solon bean 配置文式，对应的配置可以是（具体的配置，要参考 DocDock 里的字段类型结构）：

```yml
solon.docs:
  routes:
     - id: appApi 
       groupName: "app端接口"
       apis: 
         - basePackage: "com.swagger.demo.controller.app"
     - id: adminApi 
       groupName: "admin端接口"
       info:
         title: "在线文档"
         description: "在线API文档"
         termsOfService: "https://gitee.com/noear/solon"
         contact:
           name: "demo"
           url: "https://gitee.com/noear/solon"
           email: "demo@foxmail.com"
         version: "1.0"
       schemes:
         - "HTTP"
         - "HTTPS"
       globalResponseInData: true
       globalResult: "demo.model.Result"
       apis:
         - basePackage: "com.swagger.demo.controller.admin"
```

