(前后端分离、yapi和Knife4j)day62javaEE基础查漏补缺

1.nginx访问量:5万+

2.mock:生成随机数据:

使前端脱离后端也能编程,方便前端开发测试使用.

3.怎么生成假数据???(这是前端的活)

根据我们想要的啥样产生相同类型的json数据,至于怎么产生,这个要我们自己来写,mock有自己的一套语法,可参考官网,比较简单。

http://mockjs.com/

4.重启服务器,会导致正在运行的进程关闭。

开发流程:

1. 定制接口:  这里的接口(API接口)是一个前后端对接规范,主要就是定义:请求路径、请求方式、请求参数、响应数据等内容
2. 前后端并行开发: 
	前端人员根据接口中定义的规范开发前端的代码,开发完毕之后,需要根据接口定义的参数进行Mock数据模拟测试
	后端人员根据接口中定义的规范开发后端的代码,开发完毕之后,需要编写单元测试进行功能测试
3. 联调: 当前后端都开发完毕并且自测通过之后,就可以进行前后端的联调测试了,在这一阶段主要就是校验接口的参数格式
4. 提测: 前后端联调测试通过之后,就可以将项目部署到测试服务器,进行自动化测试了

5.有前缀的到后端,没有前缀的是静态资源。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4IsMaA8K-1646328796512)(问题.assets/1646327054504.png)]

6.vue是静态资源还是动态资源

Vue.js 是一套用于构建用户界面的渐进式JavaScript框架,我觉得是静态资源。

7.基于nginx的动静分离:nginx的配置文件

 upstream tomcatserver{
       server 192.168.136.129:8080;
       server 192.168.136.129:8081;
       ip_hash;
    }
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html;
        }
		
	    location ^~ /manage/ {
			rewrite ^/manage/(.*)$ /$1 break;
			proxy_pass http://tomcatserver;
	    }
		
	    location = /50x.html {
            root   html;
        }
    }
location ^~ /manage/     表示匹配以指定请求路径开头的访问路径,localtion就是请求的url

rewrite ^/manage/(.*)$ /$1 break;   代表路径重写, 此时将原始的url路径重写为 `/$1`,这里的`$1`指代的就是通配符`(.*)`这一块的内容。

/manage/  employee/find   ----------------->     /employee/find

http://192.168.136.129/manage/employee/find   ---->  http://192.168.136.129/employee/find  ----->  http://192.168.91.129:8080/employee/find          

注意事项:

1)路径重写:感觉跟riding jdbc差不多。

2)localtion就是请求的url

3)$1,是第一个匹配符。

8.yapi 部署。

还得装node.js啥的,前端干的。

http://t.csdn.cn/cZblc

9.json格式的接口文档:主要是为了导出导入。

10.Swagger介绍

https://swagger.io/

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。功能主要包含以下几点:

- 使得前后端分离开发更加方便,有利于团队协作
- 接口文档在线自动生成,降低后端开发人员编写接口文档的负担
- 接口功能测试

11.Knife4j介绍:

swagger相当于jdbc,Knife4j相当于mybatis。Knife4j框架是基于Swagger的。

直接使用Swagger,需要按照Swagger的规范定义接口,实际上就是编写Json文件,编写起来比较繁琐、并不方便,。

所以我们一般会选择一些现成的框架来简化文档的编写,而这些框架是基于Swagger的,如knife4j。

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案。

12.knife4j配置文件:

@Configuration
@EnableSwagger2//开启Swagger
@EnableKnife4j//开启Knife4j
public class ReggieWebMvcConfig implements WebMvcConfigurer {
    @Bean
    public Docket createRestApi() {
        // 配置生成的文档信息
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder().title("瑞吉外卖").version("1.0").description("瑞吉外卖接口文档").build())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.itheima.reggie.controller"))
                .paths(PathSelectors.any())
                .build();
    }
}

注意:basePackage:写的是controller层。

13.Knife4j核心的注解,主要包含以下几个:

注解位置说明
@Api加载Controller类上,表示对类的说明
@ApiOperation方法说明方法的用途、作用
@ApiImplicitParams方法表示一组参数说明
@ApiImplicitParam方法用在@ApiImplicitParams注解中,指定一个请求参数的各个方面的属性
@ApiModel描述实体类的作用
@ApiModelProperty属性描述实体类的属性

注意:这里面有属性,name,value,required。

//删除菜单
    @ApiOperation("删除菜单-------------------------------")
    @ApiImplicitParams({
            //name-参数名称,value-参数描述,required-是不是必要参数。
            @ApiImplicitParam(name = "id",value = "分类id",required = true)
    })
    @DeleteMapping("/category")
    public ResultInfo delete(long id) {

        return categoryService.delete(id);

    }

14.参数是一个实体类的话,类名@ApiModel,属性名@ApiModelProperty。

15.openapi导出是swagger.json文件,用于yapi的swagger.json导入。

16.虚拟机不稳定,挂起后或重启后,容易出现问题。所以不要老挂起。

17.“TS”是“Terminal Services”的缩写,意思是“终端服务”

18.Wiki的意思(yapi中有):

Wiki一词来源于夏威夷语的“wee kee”,原本是“快点”的意思。在这里Wiki指的是一种网上共同协作的超文本系统,可由多人共同对网站内容进行维护和更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值