弹簧引导整合Swagger2的完整步骤详解

  

  

大摇大摆,中文“拽”的意思。它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,
  而且还提供了在线文档的测试。另外大摇大摆很容易构建基于rest的风格的api。

  


  

  

吹牛是一组围绕OpenAPI规范构建的开源工具,可帮助设计,构建,记录和使用REST API。
  

  

简单说下,它的出现就是为了方便进行测试后台的restful形式的接口,实现动态的更新,当我们在后台的接口
  

  

修改了后,大摇大摆可以实现自动的更新,而不需要认为的维护这个接口进行测试。

  


  

  

大摇大摆通过注解表明该接口会生成文档,包括接口名,请求方法,参数,返回信息的等等。

  
      <李> @Api:修饰整个类,描述控制器的作用李   <李> @ApiOperation:描述一个类的一个方法,或者说一个接口   <李> @ApiParam:单个参数描述李   <李> @ApiModel:用对象来接收参数   <李> @ApiProperty:用对象接收参数时,描述对象的一个字段李   <李> @ApiResponse: HTTP响应其中1个描述李   <李> @ApiResponses: HTTP响应整体描述李   <李> @ApiIgnore:使用该注解忽略这个API李   <李> @ApiError:发生错误返回的信息李   <李> @ApiParamImplicitL:一个请求参数   <李> @ApiParamsImplicit多个请求参数   
  


  

  

3.1添加依赖

        & lt; dependency>   & lt; groupId> io.springfox   & lt; artifactId> springfox-swagger2   & lt; version> 2.7.0   & lt;/dependency>   & lt; dependency>   & lt; groupId> io.springfox   & lt; artifactId> springfox-swagger-ui   & lt; version> 2.7.0   & lt;/dependency>      

3.2添加SwaggerConfiguration

  

通过@ configuration注解,表明它是一个配置类,@EnableSwagger2开启swagger2。
  

  

apiINfo()配置一些基本的信息.apis()指定扫描的包会生成文档。
  

  

再通过createRestApi函数创建记事表的Bean之后,apiInfo()用来创建该Api的基本信息(这些基本信息会
  展现在文档页面中).select()函数返回一个ApiSelectorBuilder实例用来控制哪些接口暴露给大摇大摆来
  展,现本例采用指定扫描的包路径来定义,大摇大摆会扫描该包下所有控制器定义的API,并产生文档内容
  (除了被@ApiIgnore指定的请求)。

        包com.lance.learn.springbootswagger.configuration;      进口org.springframework.context.annotation.Bean;   进口org.springframework.context.annotation.Configuration;   进口springfox.documentation.builders.ApiInfoBuilder;   进口springfox.documentation.builders.PathSelectors;   进口springfox.documentation.builders.RequestHandlerSelectors;   进口springfox.documentation.service.ApiInfo;   进口springfox.documentation.service.Contact;   进口springfox.documentation.spi.DocumentationType;   进口springfox.documentation.spring.web.plugins.Docket;   进口springfox.documentation.swagger2.annotations.EnableSwagger2;/* *   * @author兰斯(ZYH)   * @function大摇大摆启动配置类   * @date原因2018-07-09 21:24   */@ configuration   @EnableSwagger2   公开课SwaggerConfiguration {/* *   * swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等   * @return   */@ bean   公共摘要createRestfulApi () {   返回新摘要(DocumentationType.SWAGGER_2)   .pathMapping (“/?   .select ()   .apis (RequestHandlerSelectors.basePackage (“com.lance.learn.springbootswagger.controller”))//暴露接口地址的包路径   .paths (PathSelectors.any ())   .build ();   }/* *   *构建api文档的详细信息函数,注意这里的注解引用的是哪个   * @return   */私人ApiInfo ApiInfo () {   返回新ApiInfoBuilder ()//页面标题   .title(“弹簧引导测试使用Swagger2构建RESTful API”)//创建人   .contact(新联系人(“LanveToBigData”、“http://www.cnblogs.com/zhangyinhua/?“917484312 @qq.com”))//版本号   .version (“1.0”)//描述   .description (“API描述”)   .build ();   }   }      

<强> 3.3控制器文档内容

  

描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。
  

弹簧引导整合Swagger2的完整步骤详解