美文网首页
SpringBoot整合Swagger2

SpringBoot整合Swagger2

作者: 最怕的其实是孤单 | 来源:发表于2019-10-10 13:01 被阅读0次

    首先遵循SpringBoot的三板斧

    第一步添加依赖

    <!-- SwaggerUI 接口文档 http://{ip}:{prot}/swagger-ui.html -->
    <dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>{version}</version>
    </dependency>
    <dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>{version}</version>
    </dependency>
    

    第二步添加注解

    @EnableSwagger2 //启动SwaggerUI,在启动类或Swagger配置类上添加该注解
    

    第三步写配置

    @Configuration
    @EnableSwagger2
    public class SwaggerConfig {
    
        @Bean
        public Docket api() {
    
    /*
            //可以添加多个header或参数
            ParameterBuilder aParameterBuilder = new ParameterBuilder();
            aParameterBuilder
                    //参数类型支持header, cookie, body, query etc
                    .parameterType("header")
                    //参数名
                    .name("user-token")
                    //默认值
                    .defaultValue("t122222")
                    .description("用户登录凭证")
                    //指定参数值的类型
                    .modelRef(new ModelRef("string"))
                    //非必需,这里是全局配置
                    .required(false).build();
            List<Parameter> aParameters = new ArrayList<>();
            aParameters.add(aParameterBuilder.build());
    */
    
            return new Docket(DocumentationType.SWAGGER_2)
    //        return new Docket(DocumentationType.SPRING_WEB)
                    .apiInfo(apiInfo())
                    .pathMapping("/")
                    .select()// 选择那些路径和api会生成document
                    .apis(RequestHandlerSelectors.any())// 对所有api进行监控
                    // 不显示错误的接口地址
                    .paths(Predicates.not(PathSelectors.regex("/error.*")))// 错误error路径不监控
                    .paths(Predicates.not(PathSelectors.regex("/actuator.*")))// 错误error路径不监控
                    .paths(PathSelectors.regex("/.*"))// 对根下所有路径进行监控
                    .paths(PathSelectors.any())   // 对所有路径进行监控
                    // 自行修改为自己的包路径
    //                .apis(RequestHandlerSelectors.basePackage("com.happyloves.zc.service.account.api"))
                    .build()
    //                .globalOperationParameters(aParameters)
                    .enable(true);
        }
    
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("API接口")
                    .description("API接口文档")
                    //服务条款网址
    //                .termsOfServiceUrl("https://www.google.com")
                    .version("1.0")
    //                .contact(new Contact("啦啦啦", "url", "email"))
                    .build();
        }
    }
    

    扩展:swagger-bootstrap-ui是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,能拥有一份简洁、强大的接口文档体验
    项目地址
    码云:https://gitee.com/xiaoym/swagger-bootstrap-ui

    GitHub:https://github.com/xiaoymin/Swagger-Bootstrap-UI

    在线体验:http://swagger-bootstrap-ui.xiaominfo.com/doc.html

    项目文档:http://www.xiaominfo.com/swagger-bootstrap-ui/

    代码集成示例

    SpringBoot在线demo地址:https://gitee.com/xiaoym/swagger-bootstrap-ui-demo

    Spring Mvc在线demo地址:https://gitee.com/xiaoym/swagger-bootstrap-ui-demo/tree/master/swagger-bootstrap-ui-demo-mvc

    添加依赖

    <!-- swagger-bootstrap-ui是 Swagger 的增强UI 实现,使文档更友好一点儿 http://{ip}:{prot}/doc.html -->
    <dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>swagger-bootstrap-ui</artifactId>
    <version>1.9.6</version>
    </dependency>
    

    赵小胖个人博客

    相关文章

      网友评论

          本文标题:SpringBoot整合Swagger2

          本文链接:https://www.haomeiwen.com/subject/bkwopctx.html