• 在Spring Boot中使用swagger-bootstrap-ui


    在Spring Boot中使用swagger-bootstrap-ui

    swagger-bootstrap-ui是基于swagger接口api实现的一套UI,因swagger原生ui是上下结构的,在浏览接口时不是很清晰,所以,swagger-bootstrap-ui是基于左右菜单风格的方式,适用与我们在开发后台系统左右结构这种风格类似,方便与接口浏览

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

    欢迎大家Watch,Fork,Star

    界面预览:

    引入swagger

    在pom.xml文件中引入swagger以及ui的jar包依赖

    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.7.0</version>
    </dependency>
    <!--引入ui包-->
    <dependency>
      <groupId>com.github.xiaoymin</groupId>
      <artifactId>swagger-bootstrap-ui</artifactId>
      <version>1.7</version>
    </dependency>
    

      

    配置configuration

    配置swagger的启用配置文件,关键注解@EnableSwagger2

    一下配置是支持接口分组的配置,如果没有分组配置,只需要创建一个Docket即可


    @Configuration
    @EnableSwagger2
    public class SwaggerConfiguration {
    ​
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .groupName("资源管理")
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.lishiots.dc.baseinfo.ctl"))
                    .paths(PathSelectors.any())
                    .build();
        }
        @Bean
        public Docket createMonitorRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .groupName("实时监测")
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.lishiots.dc.monitor.ctl"))
                    .paths(PathSelectors.any())
                    .build();
        }
        @Bean
        public Docket createActivitiRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .groupName("工作流引擎")
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.lishiots.dc.activiti.ctl"))
                    .paths(PathSelectors.any())
                    .build();
        }
    ​
        @Bean
        public Docket createBaseRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .groupName("kernel模块")
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.lishiots.dc.kernel.ctl"))
                    .paths(PathSelectors.any())
                    .build();
        }
    ​
        @Bean
        public Docket createComplaintRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .groupName("投诉管理")
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.lishiots.dc.complaint.ctl"))
                    .paths(PathSelectors.any())
                    .build();
        }
    ​
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("swagger RESTful APIs")
                    .description("swagger RESTful APIs")
                    .termsOfServiceUrl("http://www.test.com/")
                    .contact("xiaoymin@foxmail.com")
                    .version("1.0")
                    .build();
        }
    ​
    }
    

      


    Controller层使用swagger注解

    ctl代码层:

    
    
    @Api(tags = "banner管理")
    @RestController
    @RequestMapping("/api/bannerInfo")
    public class BannerCtl {
        @Autowired
        private BannerInfoService service;
    ​
        @PostMapping("/query")
        @ApiOperation(value = "查询banner",notes = "查询banner")
        public Pagination<BannerInfo> bannerInfoQuery(){
            Pagination<BannerInfo> pagination = service.bannerInfoQuery();
            return pagination;
        }
    }
    

      


    接口访问

    在浏览器输入:http://${host}:${port}/doc.html

     

  • 相关阅读:
    Javascript基础——函数
    Javascript基础知识(二)
    Javascript基础知识(一)
    base64编码成功后并在页面上显示出想要展现的图片张数
    JavaScript结合canvas获取图片某一区域的rgba平均值的方法
    继承的几种方法
    简易模拟下拉框
    无缝轮播图
    事件的绑定方式
    数组
  • 原文地址:https://www.cnblogs.com/xiaoymin/p/8391797.html
Copyright © 2020-2023  润新知