zoukankan      html  css  js  c++  java
  • Swagger-UI

    一、Swagger-UI 介绍

    Swagger-UI是HTML, Javascript, CSS的一个集合,可以动态地根据注解生成在线API文档。

    二、与springboot整合使用

    1、meven依赖

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

    2、常用注解

    • @Api:用于修饰Controller类,生成Controller相关文档信息
    • @ApiOperation:用于修饰Controller类中的方法,生成接口方法相关文档信息
    • @ApiParam:用于修饰接口中的参数,生成接口参数相关文档信息
    • @ApiModelProperty:用于修饰实体类的属性,当实体类是请求参数或返回结果时,直接生成相关文档信息

    3、编写config类

    package com.example.wholepro.config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    /**
     * @author 会飞的大野鸡
     * @create 2020/3/6
     * TODO:
     */
    
    @Configuration
    @EnableSwagger2
    public class Swagger2Config {
        @Bean
        public Docket createRestApi(){
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
    //为当前包下controller生成API文档
                    .apis(RequestHandlerSelectors.basePackage("com.example.wholepro.controller"))
    //为有@Api注解的Controller生成API文档
    //              .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
    //为有@ApiOperation注解的方法生成API文档
    //              .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                    .paths(PathSelectors.any())
                    .build();
        }
    
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("SwaggerUI演示")
                    .description("wholepro")
                    .contact("hack")
                    .version("1.0")
                    .build();
        }}
    
    

    4、实例与演示

    NC9wvT.png
    NC9YUs.png

    三、总结

    swagger-UI是一个十分好用的框架,他可以让接口一目了然,并可以实时的进行接口测试等工作。十分方便高效。

  • 相关阅读:
    css中滚动条设置
    css 字间距
    使用easyDialog弹出层后会刷新页面
    js页面跳转整理
    父容器不根据内容自适应高度的解决方法
    Freemaker 基本语法
    BeanUtils工具包下载及应用
    Java关键字final、static使用总结(二)
    What is a cross-channel pooling in convolutional neural net works?
    仿射梯度
  • 原文地址:https://www.cnblogs.com/B-rabbit/p/13131907.html
Copyright © 2011-2022 走看看