SpringBoot基础特性:自定义Banner与Swagger文档

发布于:2025-07-10 ⋅ 阅读:(44) ⋅ 点赞:(0)

1.SpringBootApplication

1.1自定义banner

  1. 类路径下添加banner.txt或者设置spring.banner.location就可以定制banner.txt
  2. banner定制网站:

1.2自定义SpringApplication

@MapperScan(basePackages= "com.mytest01.mapper")
@SpringBootApplication
public class Mytest01Application {

    public static void main(String[] args) {

        //        SpringApplication.run(Mytest01Application.class, args);
        // 自定义
        SpringApplication application = new SpringApplication(Mytest01Application.class);
        // 这个配置优先级弱于配置
        application.setBannerMode(Banner.Mode.CONSOLE);
        // 运行application
        application.run(args);

    }

}

1.3属性配置

内部配置

属性配置优先级排序:

外部配置

总结

项目查找配置文件顺序

规律:最外层的最优先。

命令行 >所有

包外>包内

config目录>根目录

profile > application配置不同就都生效(部署),配置相同高优先级覆盖低优先级

导入配置

属性占位符

2.swagger-ui接口文档

引入依赖:

<dependency>
  <groupId>org.springdoc</groupId>
  <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
  <version>2.1.0</version>
</dependency>

从Maven 3.8.1开始,不再支持http的包了。由于现在对网络安全的日益重视,都在向https转变。毕竟https会更加安全。所以我这里将maven版本改成了3.6.3的版本

maven3旧版本下载链接:

Index of /dist/maven/maven-3

启动项目后直接进入网页:

http://localhost:8088/swagger-ui.html

1.常用注解

@TAG 接口类注解

//给接口加上注释
@Tag(name = "微博热搜",description = "获取微博热搜")

@Parameter 参数注解

对传入的参数进行注解

@Operation

@Operation(description = "根据员工id获取员工信息",summary = "查询指定员工信息")

效果展示:

@Schema

在javabean中进行配置,对属性进行描述

@Schema(title = "返回结果")
public class Result {
    //    返回的操作码,数据,以及信息
    // 1 成功 0失败
    @Schema(title = "状态码")
    private Integer code;
    @Schema(title = "返回信息")
    private String msg;
    @Schema(title = "返回数据")
    private Object data;
}

效果:

2.Docket配置

如果有多个docket,配置如下:

@Configuration
public class ApiUiConfig {

    @Bean
    public GroupedOpenApi webtopApi(){
        //匹配所有以webtop开始的请求
        return GroupedOpenApi.builder().group("微博热搜").pathsToMatch("/webtop/**").build();
    }
    @Bean
    public GroupedOpenApi loginApi(){
        //匹配所有以text开始的请求
        return GroupedOpenApi.builder().group("登陆请求").pathsToMatch("/test/**").build();
    }
}

效果展示:

可以讲不同类型的接口区分开来

3.openApi配置

效果展示:

 

1.SpringBootApplication

1.1自定义banner

  1. 类路径下添加banner.txt或者设置spring.banner.location就可以定制banner.txt
  2. banner定制网站:

1.2自定义SpringApplication

@MapperScan(basePackages= "com.mytest01.mapper")
@SpringBootApplication
public class Mytest01Application {

    public static void main(String[] args) {

        //        SpringApplication.run(Mytest01Application.class, args);
        // 自定义
        SpringApplication application = new SpringApplication(Mytest01Application.class);
        // 这个配置优先级弱于配置
        application.setBannerMode(Banner.Mode.CONSOLE);
        // 运行application
        application.run(args);

    }

}

1.3属性配置

内部配置

属性配置优先级排序:

外部配置

总结

项目查找配置文件顺序

规律:最外层的最优先。

命令行 >所有

包外>包内

config目录>根目录

profile > application配置不同就都生效(部署),配置相同高优先级覆盖低优先级

导入配置

属性占位符

2.swagger-ui接口文档

引入依赖:

<dependency>
  <groupId>org.springdoc</groupId>
  <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
  <version>2.1.0</version>
</dependency>

从Maven 3.8.1开始,不再支持http的包了。由于现在对网络安全的日益重视,都在向https转变。毕竟https会更加安全。所以我这里将maven版本改成了3.6.3的版本

maven3旧版本下载链接:

https://archive.apache.org/dist/maven/maven-3/

启动项目后直接进入网页:

http://localhost:8088/swagger-ui.html

1.常用注解

@TAG 接口类注解

//给接口加上注释
@Tag(name = "微博热搜",description = "获取微博热搜")

@Parameter 参数注解

对传入的参数进行注解

@Operation

@Operation(description = "根据员工id获取员工信息",summary = "查询指定员工信息")

效果展示:

@Schema

在javabean中进行配置,对属性进行描述

@Schema(title = "返回结果")
public class Result {
    //    返回的操作码,数据,以及信息
    // 1 成功 0失败
    @Schema(title = "状态码")
    private Integer code;
    @Schema(title = "返回信息")
    private String msg;
    @Schema(title = "返回数据")
    private Object data;
}

效果:

2.Docket配置

如果有多个docket,配置如下:

@Configuration
public class ApiUiConfig {

    @Bean
    public GroupedOpenApi webtopApi(){
        //匹配所有以webtop开始的请求
        return GroupedOpenApi.builder().group("微博热搜").pathsToMatch("/webtop/**").build();
    }
    @Bean
    public GroupedOpenApi loginApi(){
        //匹配所有以text开始的请求
        return GroupedOpenApi.builder().group("登陆请求").pathsToMatch("/test/**").build();
    }
}

效果展示:

可以讲不同类型的接口区分开来

3.openApi配置

效果展示:

 


网站公告

今日签到

点亮在社区的每一天
去签到