Advertisement

快速掌握Swagger

阅读量:

Swagger

使用Swagger只需要按照规范定义接口及接口相关信息,生成接口文档,以及在线接口调试页面
Swagger在开发阶段帮助后端人员做后端的接口测试的
地址:https://swagger.io/

我们在开发的过程中使用Knife4j对集成Swagger简化操作,生成Api文档

使用方式

  1. 导入Knife4j坐标
  2. 在配置类中加入Knife4j相关配置
  3. 设置静态资源映射,否则接口文档页面无法访问

导入Knife4j的坐标:

复制代码
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
        </dependency>
    
    
      
      
      
      
    

在配置类中加入Knife4j的相关配置

复制代码
      @Bean
    public Docket docket() {
        //定义生成api所需要的信息
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("接口文档")
                .version("2.0")
                .description("接口文档")
                .build();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                //指定生成接口所需要扫描的包
                .apis(RequestHandlerSelectors.basePackage("com.exempole.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    

apiInfo定义生成接口文档所需要的相关信息比如,标头,版本,描述信息
Docket文档对象将接口信息添加,指定生成接口所需要的扫描的包,根据反射将扫描的包中的方法变量生成对应的接口文档

设置静态资源映射:

复制代码
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
    
    
      
      
      
      
    

将进行访问之后生成的接口文件存放在指定的目录下
我的理解:

如果不设置静态资源映射,我们进行访问的时候会默认认为我们访问的是接口地址,不是访问接口文件的静态资源

项目启动之后访问对应的地址:http://localhost:8080/doc.html

常用注解

在这里插入图片描述
@Api:

复制代码
    @Api(tags="接口信息")
    
    
      
    

@ApiOperation:

复制代码
    @ApiOperation(value="登录")
    
    
      
    

@ApiModel:

复制代码
    @ApiModel(description="传递的数据模型")
    
    
      
    

@ApiModelProperty:

复制代码
    @ApiModelProperty("属性")
    
    
      
    

注解之后在接口文档对应出都会显示相关信息便于操作

全部评论 (0)

还没有任何评论哟~