bug原因
在编写浏览记录拦截器的时候,debug发现拦截器总是执行多次,而且第二次总是没有获取到产品id参数,起初以为是项目配置的原因导致拦截器初始化了多次,但检查配置没有,debug检查两次请求拦截器的内存地址都是一样的,所以不是因为配置的原因导致的后来在controller层断点才发现是因为接口被多次请求,然后猜测可能是页面上有哪些地方重复调用品牌详情接口了,通过F12看控制台的Network
发现品牌详情接口被多次请求,除了第一次以外,后边的请求拼接的参数是图片oss裁剪的链接。
- 原因是因为在测试阶段添加的一些测试数据没有图片,在页面渲染数据的时候图片链接没有进行非空判断直接写死了oss裁剪地址导致的,在img标签里以问号开头就会默认拼接当前页面路径,然后页面在加载img中的资源时又重新请求了接口导致的
解决办法
在渲染img的src路径时添加判断图片链接为空时不添加oss裁剪