springboot整合 swagger

146 阅读1分钟
  1. 新建springboot项目 2.导入相关依赖
        <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>

4.配置swagger

package com.liy.config;

import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @ClassName: swaggerConfig
 * @Description:
 * @author: liYue
 * @date: 2021/6/13  11:12
 */
@Configuration
@EnableSwagger2  //开启swagger2
public class swaggerConfig {
}

5.测试一下 http://localhost:8080/swagger-ui.html image.png

6.更改一些配置

package com.liy.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
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;

import static springfox.documentation.service.ApiInfo.DEFAULT_CONTACT;

/**
 * @ClassName: swaggerConfig
 * @Description:
 * @author: liYue
 * @date: 2021/6/13  11:12
 */
@Configuration
@EnableSwagger2  //开启swagger2
public class swaggerConfig {


    //swagger的docket的bean实例
    @Bean
    public Docket docket(){
        return  new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
    }
    @Bean
    public ApiInfo apiInfo(){
        //作者信息
        Contact contact = new Contact("李悦","www.abc.com","@qq.com");
        return  new ApiInfo("李悦的SwaggerAPI文档",
                "和美波贴贴",
                "1.0",
                "urn:tos",
                DEFAULT_CONTACT,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0", new ArrayList());

    }
}

image.png

7。可设置需显示的接口,以及根据当前开发环境是否启用swagger `

package com.liy.config;

import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Profiles; 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; //導入方法依賴的package包/類 import org.springframework.core.env.Environment;

import java.util.ArrayList;

import static springfox.documentation.service.ApiInfo.DEFAULT_CONTACT;

/**

  • @ClassName: swaggerConfig

  • @Description:

  • @author: liYue

  • @date: 2021/6/13 11:12 */ @Configuration @EnableSwagger2 //开启swagger2 public class swaggerConfig {

    //swagger的docket的bean实例 @Bean public Docket docket(Environment environment) { //设置要显示的Swagger环境 Profiles profiles = Profiles.of ("dev","test"); //通过envi ronment. acceptsProfiles判断是否处在自己设定的环境当中 environment boolean flag = environment.acceptsProfiles(profiles); System.out.println(flag) ; return new Docket(DocumentationType.SWAGGER_2). //enable是否启动Swagger, 如果为False, 则swagger不能再浏览器中访问

             apiInfo(apiInfo()).
             select().
             //RequestHandlerSelectors,配置要扫描接口的方式
             //basePackage:指定要扫描的包
             //any():扫描全部
             //none():不扫描
     apis(RequestHandlerSelectors.basePackage("com.liy.cont")).build();
    

    }

    @Bean public ApiInfo apiInfo() { //作者信息 Contact contact = new Contact("李悦", "www.abc.com", "@qq.com"); return new ApiInfo("李悦的SwaggerAPI文档", "和美波贴贴", "1.0", "urn:tos", DEFAULT_CONTACT, "Apache 2.0", "www.apache.org/licenses/LI…", new ArrayList());

    } }