SpringDocConfig.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.genersoft.iot.vmp.conf;
  2. import io.swagger.v3.oas.models.OpenAPI;
  3. import io.swagger.v3.oas.models.info.Contact;
  4. import io.swagger.v3.oas.models.info.Info;
  5. import io.swagger.v3.oas.models.info.License;
  6. import org.junit.jupiter.api.Order;
  7. import org.springdoc.core.GroupedOpenApi;
  8. import org.springframework.beans.factory.annotation.Value;
  9. import org.springframework.context.annotation.Bean;
  10. import org.springframework.context.annotation.Configuration;
  11. /**
  12. * @author lin
  13. */
  14. @Configuration
  15. @Order(1)
  16. public class SpringDocConfig {
  17. @Value("${doc.enabled: true}")
  18. private boolean enable;
  19. @Bean
  20. public OpenAPI springShopOpenApi() {
  21. Contact contact = new Contact();
  22. contact.setName("pan");
  23. contact.setEmail("648540858@qq.com");
  24. return new OpenAPI()
  25. .info(new Info().title("WVP-PRO 接口文档")
  26. .contact(contact)
  27. .description("开箱即用的28181协议视频平台")
  28. .version("v2.0")
  29. .license(new License().name("Apache 2.0").url("http://springdoc.org")));
  30. }
  31. /**
  32. * 添加分组
  33. * @return
  34. */
  35. @Bean
  36. public GroupedOpenApi publicApi() {
  37. return GroupedOpenApi.builder()
  38. .group("1. 全部")
  39. .packagesToScan("com.genersoft.iot.vmp.vmanager")
  40. .build();
  41. }
  42. @Bean
  43. public GroupedOpenApi publicApi2() {
  44. return GroupedOpenApi.builder()
  45. .group("2. 国标28181")
  46. .packagesToScan("com.genersoft.iot.vmp.vmanager.gb28181")
  47. .build();
  48. }
  49. @Bean
  50. public GroupedOpenApi publicApi3() {
  51. return GroupedOpenApi.builder()
  52. .group("3. 拉流转发")
  53. .packagesToScan("com.genersoft.iot.vmp.vmanager.streamProxy")
  54. .build();
  55. }
  56. @Bean
  57. public GroupedOpenApi publicApi4() {
  58. return GroupedOpenApi.builder()
  59. .group("4. 推流管理")
  60. .packagesToScan("com.genersoft.iot.vmp.vmanager.streamPush")
  61. .build();
  62. }
  63. @Bean
  64. public GroupedOpenApi publicApi5() {
  65. return GroupedOpenApi.builder()
  66. .group("4. 服务管理")
  67. .packagesToScan("com.genersoft.iot.vmp.vmanager.server")
  68. .build();
  69. }
  70. @Bean
  71. public GroupedOpenApi publicApi6() {
  72. return GroupedOpenApi.builder()
  73. .group("5. 用户管理")
  74. .packagesToScan("com.genersoft.iot.vmp.vmanager.user")
  75. .build();
  76. }
  77. }