在springboot項目中使用swaggerui


  1. 在pom.xml文件中配置(用的2.6.1版本,2.9.2有點丑)
    <properties>
        <!--<spring.swagger2.version>2.9.2</spring.swagger2.version>-->
        <spring.swagger2.version>2.6.1</spring.swagger2.version>
    </properties>
    
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>${spring.swagger2.version}</version>
    </dependency>
    
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>${spring.swagger2.version}</version>
    </dependency>
  2. 寫配置類
    package com.xt.mybatisplusstudy.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;
    
    @Configuration
    @EnableSwagger2
    public class Swagger2Config {
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.xt.mybatisplusstudy.controller"))//在這寫上你的controller路徑
                    .paths(PathSelectors.any())
                    .build();
        }
    
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("swaggerApi文檔")
    //                .description("簡單優雅的restfun風格")
                    .description("你看這個玩意挺好用的")
                    .termsOfServiceUrl("")
                    .version("1.0")
                    .build();
        }
    }
  3. 注釋介紹
    常用注解:
    - @Api()用於類;
    表示標識這個類是swagger的資源
    - @ApiOperation()用於方法;
    表示一個http請求的操作
    - @ApiParam()用於方法,參數,字段說明;
    表示對參數的添加元數據(說明或是否必填等)
    - @ApiModel()用於類
    表示對類進行說明,用於參數用實體類接收
    - @ApiModelProperty()用於方法,字段
    表示對model屬性的說明或者數據操作更改
    - @ApiIgnore()用於類,方法,方法參數
    表示這個方法或者類被忽略
    - @ApiImplicitParam() 用於方法
    表示單獨的請求參數
    - @ApiImplicitParams() 用於方法,包含多個 @ApiImplicitParam
    具體使用舉例說明:
    @Api()
    用於類;表示標識這個類是swagger的資源
    tags–表示說明
    value–也是說明,可以使用tags替代
    但是tags如果有多個值,會生成多個list
    
    @ApiOperation() 用於方法;表示一個http請求的操作
    value用於方法描述
    notes用於提示內容
    tags可以重新分組(視情況而用)
    @ApiParam() 用於方法,參數,字段說明;表示對參數的添加元數據(說明或是否必填等)
    name–參數名
    value–參數說明
    required–是否必填
    
    @ApiModel()用於類 ;表示對類進行說明,用於參數用實體類接收
    value–表示對象名
    description–描述
    都可省略
    @ApiModelProperty()用於方法,字段; 表示對model屬性的說明或者數據操作更改
    value–字段說明
    name–重寫屬性名字
    dataType–重寫屬性類型
    required–是否必填
    example–舉例說明
    hidden–隱藏
    
    @ApiIgnore()用於類或者方法上,可以不被swagger顯示在頁面上
    比較簡單, 這里不做舉例
    @ApiImplicitParam() 用於方法
    表示單獨的請求參數
    @ApiImplicitParams() 用於方法,包含多個 @ApiImplicitParam
    name–參數ming
    value–參數說明
    dataType–數據類型
    paramType–參數類型
    example–舉例說明
  4. 訪問
    http://localhost:8081/xt/swagger-ui.html    訪問原則-->ip+項目名+swagger-ui.html
  5. 效果示例
  6. 遇到的一個坑
    //@Api(value = "登錄接口",tags = "login control")  坑 tags中如果寫中文,swaggerui接口無法展開
    @Api(description = "登錄接口")

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM