当前位置:   article > 正文

springboot 模块化开发 使用 swagger-ui_swagger-ui pom

swagger-ui pom

项目大体结构如下:

 swagger模块的pom配置:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>vue-test</artifactId>
  7. <groupId>com.gbx</groupId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11. <artifactId>common</artifactId>
  12. <packaging>pom</packaging>
  13. <modules>
  14. <module>service-base</module>
  15. </modules>
  16. <dependencies>
  17. <dependency>
  18. <groupId>org.springframework.boot</groupId>
  19. <artifactId>spring-boot-starter-web</artifactId>
  20. <scope>provided </scope>
  21. </dependency>
  22. <!--swagger-->
  23. <dependency>
  24. <groupId>io.springfox</groupId>
  25. <artifactId>springfox-swagger2</artifactId>
  26. <scope>provided </scope>
  27. </dependency>
  28. <dependency>
  29. <groupId>io.springfox</groupId>
  30. <artifactId>springfox-swagger-ui</artifactId>
  31. <scope>provided </scope>
  32. </dependency>
  33. </dependencies>
  34. </project>

swagger模块配置类:

  1. package com.gbx.vue.test.common.service.base;
  2. import com.google.common.base.Predicates;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import springfox.documentation.builders.ApiInfoBuilder;
  6. import springfox.documentation.builders.PathSelectors;
  7. import springfox.documentation.builders.RequestHandlerSelectors;
  8. import springfox.documentation.service.ApiInfo;
  9. import springfox.documentation.service.Contact;
  10. import springfox.documentation.spi.DocumentationType;
  11. import springfox.documentation.spring.web.plugins.Docket;
  12. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  13. @Configuration
  14. @EnableSwagger2
  15. public class SwaggerConfig {
  16. @Bean
  17. public Docket webApiConfig(){
  18. return new Docket(DocumentationType.SWAGGER_2)
  19. .groupName("webApi")
  20. .apiInfo(webApiInfo())
  21. .pathMapping("/")
  22. .select()// 选择哪些路径和api会生成document
  23. .apis(RequestHandlerSelectors.any())// 对所有api进行监控
  24. .paths(Predicates.not(PathSelectors.regex("/error.*"))) //排除error包下面的接口
  25. .paths(PathSelectors.regex("/.*"))// 对根下所有路径进行监控
  26. .build();
  27. }
  28. private ApiInfo webApiInfo(){
  29. return new ApiInfoBuilder()
  30. .title("网站-课程中心API文档")
  31. .description("本文档描述了课程中心微服务接口定义")
  32. .version("1.0")
  33. .contact(new Contact("gbx", "http://localhost:8001/swagger-ui.html", "666@qq.com"))
  34. .build();
  35. }
  36. }

 

引用swagger的业务模块主pom配置:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>vue-test</artifactId>
  7. <groupId>com.gbx</groupId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11. <artifactId>service</artifactId>
  12. <packaging>pom</packaging>
  13. <modules>
  14. <module>service-edu</module>
  15. </modules>
  16. <dependencies>
  17. <!--引用swagger模块-->
  18. <dependency>
  19. <groupId>com.gbx</groupId>
  20. <artifactId>service-base</artifactId>
  21. <version>0.0.1-SNAPSHOT</version>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.springframework.boot</groupId>
  25. <artifactId>spring-boot-starter-web</artifactId>
  26. </dependency>
  27. <!--mybatis-plus-->
  28. <dependency>
  29. <groupId>com.baomidou</groupId>
  30. <artifactId>mybatis-plus-boot-starter</artifactId>
  31. </dependency>
  32. <!--mysql-->
  33. <dependency>
  34. <groupId>mysql</groupId>
  35. <artifactId>mysql-connector-java</artifactId>
  36. </dependency>
  37. <!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
  38. <dependency>
  39. <groupId>org.apache.velocity</groupId>
  40. <artifactId>velocity-engine-core</artifactId>
  41. </dependency>
  42. <!--swagger-->
  43. <dependency>
  44. <groupId>io.springfox</groupId>
  45. <artifactId>springfox-swagger2</artifactId>
  46. </dependency>
  47. <dependency>
  48. <groupId>io.springfox</groupId>
  49. <artifactId>springfox-swagger-ui</artifactId>
  50. </dependency>
  51. <!--lombok用来简化实体类:需要安装lombok插件-->
  52. <dependency>
  53. <groupId>org.projectlombok</groupId>
  54. <artifactId>lombok</artifactId>
  55. </dependency>
  56. <!--xls-->
  57. <dependency>
  58. <groupId>org.apache.poi</groupId>
  59. <artifactId>poi</artifactId>
  60. </dependency>
  61. <dependency>
  62. <groupId>org.apache.poi</groupId>
  63. <artifactId>poi-ooxml</artifactId>
  64. </dependency>
  65. <dependency>
  66. <groupId>commons-fileupload</groupId>
  67. <artifactId>commons-fileupload</artifactId>
  68. </dependency>
  69. <!--httpclient-->
  70. <dependency>
  71. <groupId>org.apache.httpcomponents</groupId>
  72. <artifactId>httpclient</artifactId>
  73. </dependency>
  74. <!--commons-io-->
  75. <dependency>
  76. <groupId>commons-io</groupId>
  77. <artifactId>commons-io</artifactId>
  78. </dependency>
  79. <!--gson-->
  80. <dependency>
  81. <groupId>com.google.code.gson</groupId>
  82. <artifactId>gson</artifactId>
  83. </dependency>
  84. <dependency>
  85. <groupId>junit</groupId>
  86. <artifactId>junit</artifactId>
  87. <version>4.12</version>
  88. </dependency>
  89. </dependencies>
  90. </project>

业务模块的次级模块pom不需要再引用了,只需要在启动类上配置swagger的配置类扫描路径即可:

  1. package com.gbx.vue.test.service.service.edu;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.context.annotation.ComponentScan;
  5. @SpringBootApplication
  6. @ComponentScan(basePackages = {"com.gbx.vue.test"})
  7. public class ServiceEduApplication {
  8. public static void main(String[] args) {
  9. SpringApplication.run(ServiceEduApplication.class,args);
  10. }
  11. }

启动后就可以访问了,默认访问路径:localhost:port/swagger-ui.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/373145
推荐阅读
相关标签