swagger介绍和使用

Posted licha233

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swagger介绍和使用相关的知识,希望对你有一定的参考价值。

一.swagger简介

●号称世界上最流行的Api框架

●RestFul Api文档再按自动生成工具,Api文档与Api定义同步更新

●直接运行,可以在线测试API接口

●支持多种语言:(java,php)

二.springboot集成swagger

1.需要导入两个依赖

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

2.配置Swagger

编写SwaggerConfig类

package com.licha.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;

/**
 * User: Aurora
 * Date: 2020/4/23
 * Time: 23:00
 */
@Configuration
@EnableSwagger2  //开启swagger2
public class SwaggerConfig {

    //配置swagger的Docker的bean实例
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                //配置API文档的分组 , 配置多个Docket就可以配置多个分组
                .groupName("狸茶")
                //是否启动swagger true启动 false不启动
                .enable(true)
                .select()
                //RequestHandlerSelectors 配置扫描接口的方式,指定包扫描
                .apis(RequestHandlerSelectors.basePackage("com.licha.controller"))
                //过滤路径
                .paths(PathSelectors.any())
                .build();
    }

    //配置swagger信息
    private ApiInfo apiInfo(){

        //作者信息
        Contact contact = new Contact("狸茶", "https://www.cnblogs.com/licha233/", "1149196266@qq.com");
		
        //api信息
        return new ApiInfo(
                "swagger学习",
                "api 描述",
                "1.0",
                "urn:tos",
                contact,
                "Apache 2.0",
                "https://www.cnblogs.com/licha233/",
                new ArrayList()

        );
    }

}

3.测试运行

访问: http://localhost:8080/swagger-ui.html

技术图片

三.接口注释

@ApiModel("员工实体类")  //实体类注释
@ApiModelProperty("员工id")  //实体类属性注解
@ApiOperation("查询所有员工")   //给controller中的方法添加注释
@ApiParam("要删除的用户id")  //给方法传递的参数添加注释
@Api(tags = "员工控制类")   //给controller类上添加注释

测试

技术图片

注意

项目正式发布的时候关闭swagger

以上是关于swagger介绍和使用的主要内容,如果未能解决你的问题,请参考以下文章

swagger介绍和使用

swagger的说明配置及使用

SpringBoot | 第十章:Swagger2的集成和使用

Swagger认识与使用 Swagger 实现接口文档

Swagger认识与使用 Swagger 实现接口文档

Swagger认识与使用 Swagger 实现接口文档