swagger2的基本使用

这里主要讲解在spring boot中使用swagger2 生成接口文档

首先导入maven依赖

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>

 

然后新建一个配置类 用于配置一些swagger2的文档基本信息和接口扫描路径

/**
 * Swagger2 配置类
 * 在与spring boot 集成时,放在与application.java 同级的目录下
 * 通过@Configuration注解,让spring来加载该配置
 */
@Configuration
public class Swagger2 {


    /**
     * 创建API应用
     * appinfo()增加API相关信息
     * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制那些接口暴露给Swagger来展现
     * 本例采用置顶扫描的包路径来定义指定要建立API的目录
     *
     * @return
     */
    @Bean
    public Docket createRestApi() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.shuke.chat"))
                .paths(PathSelectors.any()).build();
        return docket;
    }


    /**
     * 创建改API的基本信息(这些基本信息会展示在文档页面中)
     * 访问地址: http://项目实际地址/swagger-ui.html
     * @return
     */
    public ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                 // 设置页面标题
                .title("使用swagger2构建小程序后端api接口文档")
                // 设置联系人
                .contact(new Contact("IT人故事会", "http://idig8.com", "公众号:编程坑太多"))
                // 描述
                .description("欢迎访问接口文档")
                // 定义版本号
                .version("1.0").build();
 } }

 

然后在启动类上 加@EableSwagger2 

默认swagger2的界面地址是:项目的根路径/swagger-ui.html

进入这个界面以后就会显示当前项目有哪些接口  点击接口以后就会显示当前接口有哪些方法  还可以在线测试 功能非常强大 可以替代postman了

具体操作非常简单 看到了就会

 

接下来将swagger2的核心 就是使用注解给接口 和每个方法加说明

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

 

posted @ 2019-09-11 23:20  沙漠里的橘子皮  阅读(2562)  评论(0编辑  收藏  举报