SpringBoot中通过第三方Swagger-UI来使用Swagger

本文总阅读量
本文最后更新于2 分钟前,文中所描述的信息可能已发生改变。

前言:在前后端分离开发的过程中,前端和后端需要进行api对接进行交互,就需要一个api规范文档,方便前后端的交互,但api文档不能根据代码的变化发生实时动态的改变,这样后端修改了接口,前端不能及时获取最新的接口,导致调用出错,需要手动维护api文档,加大了开发的工作量和困难,而swagger的出现就是为了解决这一系列的问题。

简单来说的话就是一个基于openAPI构建的可用于动态生成后端接口文档的工具集

通过第三方依赖knife4j使用swagger。

步骤:

  • 导入依赖
    pom
    <dependency>
        <groupId>com.github.xiaoymin</groupId>
        <artifactId>knife4j-spring-boot-starter</artifactId>
        <version>3.0.2</version>
    </dependency>
  • 编写配置Swagger的配置对象docket并在配置类中注入容器中
    java
    @Bean
    public Docket docketUser(){
      ApiInfo apiInfo = new ApiInfoBuilder()
              .title("接口文档")
              .version("1.0")
              .description("一个接口文档")
              .build();
      Docket docket = new Docket(DocumentationType.SWAGGER_2)
              .groupName("用户端接口")
              .apiInfo(apiInfo)
              //开启文件上传测试功能
              .consumes(Collections.singleton(MimeTypeUtils.APPLICATION_OCTET_STREAM_VALUE))
              .select()
              .apis(RequestHandlerSelectors.basePackage("com.helo.controller"))
              .paths(PathSelectors.any())
              .build();
      return docket;
    }
  • 配置静态资源映射,使得可以访问到生成的接口文档
    java
    @Configuration
    @Slf4j
    public class WebMvcConfiguration extends WebMvcConfigurationSupport {
      @Override
      protected void addResourceHandlers(ResourceHandlerRegistry registry) {
          log.info("配置静态资源映射..");
          registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
          registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
      }
    }
  • application.yml中开启文档
    yml
    springfox:
    documentation:
      # 启用接口文档dom.html
      swagger-ui:
        enabled: true
jwt的使用
SpringBoot中的注解
Valaxy v0.18.5 驱动 | 主题 - Yun v0.18.5
本站总访问量
本站访客数 人次
本站已运行0 天0 小时0 分0 秒后缀