Solon v2.9.3

文档摘要的配置与构建

</> markdown

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

  • 简单点的(注意,构建的 Bean 必须有名字)
@Configuration
public class DocConfig {
    @Bean("appApi")
    public DocDocket appApi() {
        return new DocDocket()
                .groupName("app端接口")
                .apis("com.swagger.demo.controller.app");

    }
}
  • 丰富点的
@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 的构建方式。格式如下

solon.docs:
  discover: ...
  routes:
     - DocDocket
     - DocDocket
  • discover,用于配置分布式发现服务相关的(即,自动配置文档)
  • routes,是一个 Map<String,DocDocket> 结构,用于配置文档路由(即,手动配置文档)

以上面的 solon bean 配置文式,对应的配置可以是(具体的配置,要参考 DocDock 里的字段类型结构):

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"