【JMeter】JMeter接口测试
概述
JMeter也称为“Apache
JMeter”,它是一个开源的,带有图形界面,基于Java的应用程序。它旨在分析和衡量Web应用程序和各种服务的性能和负载功能行为,用于分析性能指标
或者测试在高负载情况下服务器接口的处理能力
安装
JMeter官方下载地址
配置中文
JMeter
配置中文参考文章
运行
打开下载目录, 进入 apache-jmeter-5.5\bin\, 点击
jmeter.bat,启动界面
使用
创建线程组
新建测试计划->添加->线程(用户)->线程组
创建Http信息头管理器
点击线程组-> 添加 -> 配置元件 ->
Http信息头管理器
设置请求头参数: 如Cookie / jwt-token
根据具体后端去配置
结果树
点击线程组-> 添加-> 监听器 -> 结果树
执行完请求后查看
聚合报告
点击线程组-> 添加-> 监听器 -> 聚合报告
执行完请求后查看
HTTP请求
点击线 ...
【Forest】基于Forest的http客户端框架对接第三方
Forest
Forest
是一个开源的Java HTTP 客户端框架,它能够将
HTTP 的所有请求信息(包括 URL、Header 以及 Body 等信息)绑定到您自定义的
Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP
请求。
使用 Forest
就像使用类似 Dubbo 那样的 RPC 框架一样,只需要定义接口,调用接口即可,不必关心具体发送
HTTP 请求的细节。同时将 HTTP
请求信息与业务代码解耦,方便您统一管理大量 HTTP 的
URL、Header 等信息。而请求的调用方完全不必在意 HTTP 的具体内容,即使该
HTTP 请求信息发生变更,大多数情况也不需要修改调用发送请求的代码
官方网站:forest.dtflyx.com
Gitee托管仓库:gitee.com/dromara/for…
Github托管仓库:github.com/dromara/for…
引入
12345<dependency> <groupId>com.dtflys.forest</gr ...
关于多个关键字查询
业务场景
业务场景: 在一个列表页面中,对输入框
输入一个到多个关键字(以逗号隔开),
再根据这些关键字和多个字段匹配符合的数据
sql编写
msql的模糊查询是可以配合concat函数 一起使用的
123456select name,class_name,address from info_table where concat(name,class_name,address) like oncat('%','天','%')
关键字多个的情况,需要拼接多条,如下
123456789select name,class_name,address from info_table where concat(name,class_name,address) like oncat('%','天','%') or concat(name,class_name,address) like oncat('%','地' ...
【Annotation】自定义注解实现数据脱敏
数据脱敏
数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。
需要进行数据脱敏的地方:如身份证号、手机号、卡号、客户号等个人信息
此处通过利用 springboot 自带的
jackson 自定义序列化实现。它的实现原理其实就是在json 进行序列化渲染给前端时,进行脱敏
导入hutool
12345<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.0</version></dependency>
现阶段版本Hutool支持的脱敏数据类型如下,基本覆盖了常见的敏感信息。
具体如:用户id
、中文姓名、身份证号、座机号、手机号、地址、电子邮件、密码、中国大陆车牌,包含普通车辆、新能源车辆、银行卡
测试
12345678910111213141516171819202122232 ...
【spring Cache】spring Cache+Redis缓存
Spring Cache
介绍
Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。
Spring
Cache提供了一层抽象,底层可以切换不同的cache实现(可以是redis....)。具体就是通过CacheManager接口来统一不同的缓荐技术。
CacheManager是Spring提供的各种缓存技术抽象接口。
常用注解
注解
说明
@EnableCaching
开启缓存注解功能
@Cacheable
在方法执行前spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据若没有数据,调用方法并将方法返回值放到缓存中
@CachePut
将方法的返回值放到缓存中
@CacheEvict
将一条或多条数据从缓存中删除
引入依赖
spring-boot-starter-web 中包含 spring-context, spring-context
中包含了spring Cache
1234<depende ...
【redis】redis+aop注解实现接口限流
限流
本文的限流指的是系统接口访问次数进行限制,某些特定的接口因为安全等问题需要每分钟/小时
对用户调用进行限制,此处采用redis+aop+注解 方式编写简单的限流方案
限流类
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950/** * 单体-限制用户接口访问频率: */@Componentpublic class RateLimiter { @Resource private StringRedisTemplate stringRedisTemplate; /** * key前缀 */ private static final String RATE_LIMITING_PREFIX = "rate_limiting_"; /** * 限流次数 */ private static final Long RATE_LIMITING_COUNT = 5 ...
【Tomcat】Tomcat配置https方式访问
本地配置ssl证书
安全证书
获取安全证书的方式:
权威机构申购CA证书
自我签名的证书 (离线版)
以自签名证书为例,使用SUN公司提供的证书制作工具keytool制作自签证书,JDK版本为1.8。首先打开cmd命令行,使用如下命令创建密钥库和密钥条目
命令工具的位置:java.exe ,配置了环境变量可以在任意地方使用
该命令会在指向的地址位置生成一个名为tomcat.keystore的证书
1keytool -genkey -alias ceshi -storetype PKCS12 -keyalg RSA -keystore D:\app_conf\tomcat\tomcat.keystore
输入一下信息
进入该步骤后需要注意的密钥需要记住,之后还要用的,名字与姓氏要填域名即localhost其他的随便填即可。
生成证书如下:
Tomcat配置
编辑 apache-tomcat-9.0.52\conf\server.xml 文件
1234567891011121314151617181920<Connector po ...