美文网首页
SpringBoot使用Swagger生成API文档

SpringBoot使用Swagger生成API文档

作者: holmes000 | 来源:发表于2020-03-12 19:22 被阅读0次

在多人协作的开发过程中,API文档不仅可以减少等待,也能保证开发的持续进行。有一些单元测试框架可以生成API文档,而Swagger可以在不写单元测试的情况下生成在线的API页面,并且可以直接在页面进行API调试。

  1. 引入需要的依赖
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
        </dependency>

  1. 在启动类也就是XXXApplication类的同级目录下创建Swagger2类,作为配置类
@Configuration
@EnableSwagger2
public class Swagger2 {
      @Bean
      public Docket createRestApi() {
          return new Docket(DocumentationType.SWAGGER_2)
                  .apiInfo(apiInfo())
                  .select()
      .apis(RequestHandlerSelectors.basePackage("cn.com.wenyi.controller"))
                .paths(PathSelectors.any())
                .build();
    }

      private ApiInfo apiInfo() {
          return new ApiInfoBuilder()
                  .title("Brand Love APIS")
                  .description("基于指数数据的品牌趋势分析工具")
                  .version("1.0.3")
                  .build();
      }
}

通过@Configuration我们标记此类为配置类,会在SpringBoot项目启动的时候加载,@EnableSwagger2用来启动Swagger。
实际上我们已经完成了对Swagger的配置,Swagger会自动扫描我们配置的cn.com.wenyi.controller包下的接口自动生成接口文档。
其地址为:http://localhost:8080/swagger-ui.html

3.接下来我们可以对我们的接口参数进一步说明:

#在Controller上使用@Api会生成这个Controller的整体描述
@Api(value = "Base Index API", description = "基础指数数据")

#在具体方法上使用@ApiOperation可以生成接口的描述
@ApiOperation(value = "回溯数据", notes = "回溯品牌历史指数数据")

#在方法上使用@ApiImplicitParam可以增加对参数等的描述
@ApiImplicitParam(name = "brand", value = "品牌名称", required = true, dataType = "String", paramType = "query")

其他更多操作我们可以查看网上的文章晚上我们的接口文档。

image

作者:兔贩子
链接:https://www.jianshu.com/p/7f239554f287
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

网友评论

      本文标题:SpringBoot使用Swagger生成API文档

      本文链接:https://www.haomeiwen.com/subject/hcsijhtx.html