目录
1.spring-boot如何得知接口被调用了,以及调用是否成功??
背景:
使用spring-boot框架开发了一个造数工程,通过将业务流程涉及的接口整合成一个接口,对外开放,使用者只需要调用该接口,就能快速得到想要的测试数据;由于推广需要,不知道这些接口开发后的使用情况,于是添加了一个简易的监控,并将监控数据上报至数据库,再结合grafana展示监控数据
1.spring-boot如何得知接口被调用了,以及调用是否成功??
spring-boot + AOP+MySQL实现访问量统计功能,spring-boot项目已经存在,需要引入AOP,首先添加AOP的pom依赖(以下我主要用groovy写的,直接用在java脚本里,需要根据编码工具提示微调),里面的SqlBuilderUtil和TimeUtil是我的sql执行类和时间处理类,你可以根据需求自己定制
<!-- AOP -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.2.12</version>
</dependency>
再添加2个类文件ApiVisitHistory和AtomicCounter
ApiVisitHistory
import org.aspectj.lang.JoinPoint
import org.aspectj.lang.annotation.AfterReturning
import org.aspectj.lang.annotation.AfterThrowing
import org.aspectj.lang.annotation.Aspect
import org.aspectj.lang.annotation.Before
import org.aspectj.lang.annotation.Pointcut
import org.slf4j.Logger
import org.slf4j.LoggerFactory
impor