springfox-swagger-ui 3.0.0 设置

打印 上一主题 下一主题

主题 1021|帖子 1021|积分 3063

在3.0中,访问地点URL变了。

  

  • http://地点:端口/项目名/swagger-ui/
  SpringBoot

  maven项目引入
  1. <dependency>
  2.     <groupId>io.springfox</groupId>
  3.     <artifactId>springfox-swagger2</artifactId>
  4.     <version>3.0.0</version>
  5. </dependency>
  6. <dependency>
  7.     <groupId>io.springfox</groupId>
  8.     <artifactId>springfox-swagger-ui</artifactId>
  9.     <version>3.0.0</version>
  10. </dependency>
  11. <dependency>
  12.     <groupId>io.springfox</groupId>
  13.     <artifactId>springfox-boot-starter</artifactId>
  14.     <version>3.0.0</version>
  15. </dependency>
复制代码
gradle项目引入
  1. //https://mvnrepository.com/artifact/io.springfox/springfox-swagger2
  2. implementation group: 'io.springfox', name: 'springfox-swagger2', version: '3.0.0'
  3. //https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui
  4. implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '3.0.0'
  5. //https://mvnrepository.com/artifact/io.springfox/springfox-boot-starter
  6. implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0'
复制代码
SwaggerConfig.java 设置
  1. import io.swagger.annotations.ApiOperation;
  2. import io.swagger.models.auth.In;
  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.*;
  9. import springfox.documentation.spi.DocumentationType;
  10. import springfox.documentation.spi.service.contexts.SecurityContext;
  11. import springfox.documentation.spi.service.contexts.SecurityContextBuilder;
  12. import springfox.documentation.spring.web.plugins.Docket;
  13. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  14. import java.util.Collections;
  15. import java.util.List;
  16. @Configuration
  17. @EnableSwagger2 // 开启Swagger支持
  18. public class Swagger2Config {
  19.     @Bean
  20.     public Docket createRestApi() {
  21.         return new Docket(DocumentationType.SWAGGER_2)
  22.                 // 将api的元信息设置为包含在json resourcelisting响应中
  23.                 .apiInfo(apiInfo()).enable(true) // 是否启用Swagger,如果为false,则swagger不能在浏览器中访问
  24.                 .select()
  25.                 //加了ApiOperation注解的类,才生成接口文档
  26.                 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
  27.                 //包下的类,才生成接口文档
  28.                 .apis(RequestHandlerSelectors.basePackage("com.xxx.xxx.xxx.controller"))
  29.                 .paths(PathSelectors.any())
  30.                 .build().securityContexts(securityContexts()).securitySchemes(securitySchemes());
  31.     }
  32.     private ApiInfo apiInfo() {
  33.         Contact contact = new Contact("Apaas平台", "https://www.ctapaas.cn/", "xxxxxxxx@chinatelecom.cn");
  34.         return new ApiInfoBuilder().contact(contact).title("Apaas组件").description("Apaas组件Restful Api文档").version("1.0.0").build();
  35.     }
  36.     // 设置需要的登录认证的路径
  37.     private List<SecurityContext> securityContexts() {
  38.         SecurityContextBuilder builder = SecurityContext.builder();
  39.         builder.securityReferences(defaultAuth()).operationSelector(oc->oc.requestMappingPattern().matches("/.*"));
  40.         return Collections.singletonList(builder.build());
  41.     }
  42.     // 设置请求头的信息
  43.     private List<SecurityScheme> securitySchemes() {
  44.         return Collections.singletonList(new ApiKey("Authorization", "Authorization", In.HEADER.toValue()));
  45.     }
  46.     // 定义授权范围
  47.     private List<SecurityReference> defaultAuth() {
  48.         List<AuthorizationScope> scopeList = Collections.singletonList(new AuthorizationScope("global", "全局认证"));
  49.         return Collections.singletonList(new SecurityReference("Authorization", scopeList.toArray(new AuthorizationScope[0])));
  50.     }
  51. }
复制代码
这是效果图

  

这是官方说明文档
https://springfox.github.io/springfox/docs/snapshot/#changes-in-swagger-ui
假如帮助到了大家,点个赞或者来个关注。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

伤心客

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表