Swagger、定时任务、异步任务、Redis

Swagger简介

前后端分离:vue+Springboot
后端时代:前端只管html+css+js,后端:模板引擎 jsp==>后端主力

前后端分离时代:
后端“控制层、服务层、数据访问层【后端团队】
前端:前端控制层、视图层【前端团队】
伪造后端数据

前后端交互:API
前后端相对独立,松耦合,前后端甚至可以分别部署到不同的服务器上面

交互问题,前后端集成联调?
前端人员和后端人员无法做到协商,尽早解决,导致问题爆发
解决方法:制定一个计划提纲schema,实时更新api,降低集成风险,
早些年:word计划文档,
前后端分离:
前端测试后端接口:
后端提供接口:提供最新消息和改动

Swagger:号称最流行的api框架

RestFul API 文档在线自动生成问题==>API文档与API定义同步更新,
直接可以在线测试,
可以在线测试接口
支持多种语言

在项目中使用Swagger,需要导入jar包:swagger2,swagger-ui

springboot集成swagger
新建一个springboot-web项目
导入依赖
编写一个helloword
默认配置

@Configuration
@EnableSwagger2 //Swagger2
public class SwaggerConfig {
}

访问:http://localhost:8080/swagger-ui.html
得到页面

配置Swagger
Swagger的实例:
Swagger配置bean 的 Dorket

配置扫描接口
Docket.select()

//看源码学习
@Configuration
@EnableSwagger2 //Swagger2
public class SwaggerConfig {
//配置swagger的bean实例
@Bean
public Docket docket(){
   return new Docket(DocumentationType.SWAGGER_2)
           .apiInfo(apiInfo())
           .select()
           //RequestHandlerSelectors配置要扫描的接口
           //basePackage 扫描指定包 .basePackage("com.ty.controller")
           //none 全部不扫描
           //any 扫描所有接口
           //withMethodAnnotation 扫描指定方法上的方法 .withClassAnnotation(RequestMapping.class)
           //withClassAnnotation 扫描指定类上的方法 .withClassAnnotation(RestController.class))
           .apis(RequestHandlerSelectors.basePackage("com.ty.controller"))
           //paths() 过滤路径
           .paths(PathSelectors.ant("/ty/**"))
           .build();
}

//配置swagger的apiInfo信息
private ApiInfo apiInfo(){
    //这里爆红,拿到源码的信息 指作者信息
    Contact DEFAULT_CONTACT = new Contact("ty",
            "https://editor.csdn.net/md?not_checkout=1&articleId=109269811",
            "[email protected]");
    return new ApiInfo("ty 的api文档",
            "出关为学,不成不还",
            "V1.0",
            "https://editor.csdn.net/md?not_checkout=1&articleId=109269811",
            DEFAULT_CONTACT,
            "Apache 2.0",
       

你可能感兴趣的:(java,Spring'Boot,java,redis)