SpringBoot-Swagger

Swagger

开源文档

https://swagger.io/docs/open-source-tools/swagger-editor/

Maven

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

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

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

配置界面

3.0

http://localhost:8080/swagger-ui/index.html

3.0以下

image-20210503114858606

// 左侧红框对应配置
private ApiInfo apiInfo()
{
    // 首页信息
    ApiInfo apiInfo = new ApiInfo(
            "Swagger api 文档",
            "Swagger",
            "1.0",
            "urn:tos",
            new Contact("若凌","","****@qq.com"), // 作者信息
            "Apache 2.0",
            "http://www.apache.org/licenses/LICENSE-2.0",
            new ArrayList());

    return apiInfo;

}

右侧红框对应配置文件中的groupName!

springboot配置文件

application.yml

# 是否开启swagger
swagger:
  enabled: true

SwaggerConfig

@Configuration
public class SwaggerConfig {


    /** 是否开启swagger */
    @Value("${swagger.enabled}")
    private boolean enabled;

    @Bean
    public Docket docket1(Environment environment)
    {


        return new Docket(DocumentationType.OAS_30)
                .apiInfo(apiInfo())
                .groupName("docket1")
                /**
                 * 是否启动swagger
                 * true 打开
                 * false 关闭
                 */
                .enable(enabled)
                .select()
                /**
                 * 扫描
                 *
                 * 指定扫描包
                 * .apis(RequestHandlerSelectors.basePackage("com.rao.controller"))
                 * any()  扫描全部
                 * .apis(RequestHandlerSelectors.any())
                 * none() 都不扫描
                 * .apis(RequestHandlerSelectors.none())
                 * withClassAnnotation()   扫描方法上的注解类
                 * .apis(RequestHandlerSelectors.withMethodAnnotation(GetMapping.class))
                 * withMethodAnnotation()  扫描类上的注解类
                 * .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
                 */
                .apis(RequestHandlerSelectors.basePackage("com.rao.controller"))
                /**
                 * 过滤
                 *
                 * 排除/rao/**的类
                 * .paths(PathSelectors.ant("/rao/**"))
                 */
                .paths(PathSelectors.ant("/rao/**"))
                .build();
    }

    @Bean
    public Docket docket2(Environment environment)
    {

        return new Docket(DocumentationType.OAS_30)
                .apiInfo(apiInfo())
                .groupName("docket2")
                /**
                 * 是否启动swagger
                 * true 打开
                 * false 关闭
                 */
                .enable(enabled)
                .select()
                /**
                 * 扫描
                 *
                 * 指定扫描包
                 * .apis(RequestHandlerSelectors.basePackage("com.rao.controller"))
                 * any()  扫描全部
                 * .apis(RequestHandlerSelectors.any())
                 * none() 都不扫描
                 * .apis(RequestHandlerSelectors.none())
                 * withClassAnnotation()   扫描方法上的注解类
                 * .apis(RequestHandlerSelectors.withMethodAnnotation(GetMapping.class))
                 * withMethodAnnotation()  扫描类上的注解类
                 * .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
                 */
                .apis(RequestHandlerSelectors.basePackage("com.rao.controller"))
                /**
                 * 过滤
                 *
                 * 排除/rao/**的类
                 * .paths(PathSelectors.ant("/rao/**"))
                 */
                .paths(PathSelectors.ant("/rao/**"))
                .build();
    }

    @Bean
    public Docket docket3(Environment environment)
    {

        return new Docket(DocumentationType.OAS_30)
                .apiInfo(apiInfo())
                .groupName("若凌")
                /**
                 * 是否启动swagger
                 * true 打开
                 * false 关闭
                 */
                .enable(enabled)
                .select()
                /**
                 * 扫描
                 *
                 * 指定扫描包
                 * .apis(RequestHandlerSelectors.basePackage("com.rao.controller"))
                 * any()  扫描全部
                 * .apis(RequestHandlerSelectors.any())
                 * none() 都不扫描
                 * .apis(RequestHandlerSelectors.none())
                 * withClassAnnotation()   扫描方法上的注解类
                 * .apis(RequestHandlerSelectors.withMethodAnnotation(GetMapping.class))
                 * withMethodAnnotation()  扫描类上的注解类
                 * .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
                 */
                .apis(RequestHandlerSelectors.basePackage("com.rao.controller"))
                /**
                 * 过滤
                 *
                 * 排除/rao/**的类
                 * .paths(PathSelectors.ant("/rao/**"))
                 */
                .paths(PathSelectors.ant("/rao/**"))
                .build();
    }

    private ApiInfo apiInfo()
    {
        // 首页信息
        ApiInfo apiInfo = new ApiInfo(
                "Swagger api 文档",
                "Swagger",
                "1.0",
                "urn:tos",
                new Contact("若凌","","123456@qq.com"), // 作者信息
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());

        return apiInfo;

    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值