dromara / lamp-cloud

lamp-cloud 支持jdk21、jdk17、jdk11、jdk8,ta基于 SpringCloud + SpringBoot 开发的微服务中后台快速开发平台,专注于多租户(SaaS架构)解决方案,亦可作为普通项目(非SaaS架构)的基础开发框架使用,目前已实现插拔式数据库隔离、SCHEMA隔离、字段隔离 等租户隔离方案。
http://tangyh.top
Apache License 2.0
5.5k stars 1.67k forks source link

4.x前端请求参数重复 #324

Open dhloveyou opened 10 months ago

dhloveyou commented 10 months ago

版本信息:

演示版本 https://datasource.tangyh.top/#/user/employee

问题描述:

请求参数重复,提交请求前是否可以做一下参数去重处理?

报错截图

image

重现步骤

  1. 访问了什么接口? /api/oauth/anyUser/dict/findDictMapItemListByKey
  2. 传递什么参数? 参数重复,见截图
  3. 后端控制台报了什么错? 没有报错
  4. 前端控制台报了什么错? 没有报错

支持一下

如果该issue帮助了你, 麻烦给项目点个star, 并给当前issue回复一下 “👍” 或者 “已解决”.

zuihou commented 10 months ago

这个问题比较棘手,目前定位到的原因如下:

resetSchema和updateSchema等方法执行后,会导致ApiSelect和ApiRadioGroup等方法初始化多次,初始化组件时,会导致组件的watchEffect和watch等方法执行多次,最终出现调用多次api接口的现象。

由于字典回显的api是经过处理过的,对于同一个接口调用多次时,会将100ms内发起的多个请求合并为一个请求,参数会累加,所以出现参数重复的情况。好在后台接口在接受到多个相同参数时,也仅会返回一次数据,所以对于普通用户来说没感觉到问题。

目前这个问题还没找到解决方案,后续解决了在回复此贴。