SwaggerConfiguration.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.koobietech.eas.config;
  2. import io.swagger.v3.oas.models.Components;
  3. import io.swagger.v3.oas.models.OpenAPI;
  4. import io.swagger.v3.oas.models.info.Contact;
  5. import io.swagger.v3.oas.models.info.Info;
  6. import io.swagger.v3.oas.models.info.License;
  7. import io.swagger.v3.oas.models.security.SecurityRequirement;
  8. import io.swagger.v3.oas.models.security.SecurityScheme;
  9. import org.springdoc.core.GroupedOpenApi;
  10. import org.springframework.beans.factory.annotation.Value;
  11. import org.springframework.context.annotation.Bean;
  12. import org.springframework.context.annotation.Configuration;
  13. import org.springframework.context.annotation.Profile;
  14. import java.util.HashMap;
  15. /**
  16. * @author lc
  17. */
  18. @Configuration
  19. @Profile("dev")
  20. public class SwaggerConfiguration {
  21. @Bean
  22. public OpenAPI baseApi(@Value("${springdoc.version}") String appVersion){
  23. OpenAPI openApi = new OpenAPI();
  24. //基本信息
  25. Info info = new Info().title("爱扣钉教务接口")
  26. .description("爱扣钉教务接口API文档,openapi3.0 接口,用于前端对接")
  27. .version(appVersion)
  28. .contact(new Contact().name("王雁"))
  29. .license(new License().name("使用请遵守 Apache 2.0 授权协议")
  30. .url("http://edu.koobietech.com"));
  31. openApi.info(info);
  32. //授权信息
  33. SecurityScheme securityToken = new SecurityScheme()
  34. .type(SecurityScheme.Type.HTTP)
  35. .scheme("bearer")
  36. .bearerFormat("JWT")
  37. .in(SecurityScheme.In.HEADER)
  38. .name("Authorization");
  39. HashMap<String, SecurityScheme> authToken = new HashMap<>();
  40. authToken.put("Authorization", securityToken);
  41. openApi.components(new Components().securitySchemes(authToken));
  42. openApi.addSecurityItem(new SecurityRequirement().addList("Authorization"));
  43. return openApi;
  44. }
  45. @Bean
  46. public GroupedOpenApi baseRestApi() {
  47. return GroupedOpenApi.builder()
  48. .group("爱扣钉学员接口")
  49. .pathsToMatch("/**")
  50. .packagesToScan(new String[]{
  51. "com.koobietech.eas.controller", "com.koobietech.eas.dao",
  52. "com.koobietech.eas.mbg"
  53. }
  54. )
  55. .build();
  56. }
  57. }