zoukankan      html  css  js  c++  java
  • 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:多个请求参数
  • 相关阅读:
    C#中的?问号
    佛学中的108条做人道理
    SQL Server函数总结
    ASP.NET MVC与Web Forms
    常数定义和字段定义的区别
    What is the purpose of Entity Framework T4 template.
    ASP.NET Internals – IIS and the Process Model
    asp.net为什么没有多重继承(个人观点,欢迎指正,谢谢!)
    c#委托,事件及观察者模式(转自:http://www.cnblogs.com/JimmyZhang/archive/2011/12/25/903360.html)
    GC and Memory leak
  • 原文地址:https://www.cnblogs.com/java888/p/11509460.html
Copyright © 2011-2022 走看看