使用easybase-react执行更新/删除操作返回502 Bad Gateway错误求助
排查及解决方法
- 先升级SDK版本
旧版本easybase-react对更新、删除请求的报文构造存在已知缺陷,会触发网关报错。执行以下命令更新到最新稳定版即可:npm update easybase-react # 用yarn的话执行 yarn upgrade easybase-react - 确认表结构配置
Easybase的更新、删除操作要求操作的表必须设置唯一主键列,否则后端匹配记录时会触发服务端错误返回502。你可以进入Easybase项目控制台的表结构配置页,给TEST表设置主键:比如新增自增id列设为主键,或者将number列设为唯一约束。 - 检查异步调用写法
你贴出的更新、删除代码没有加await关键字,虽然不是直接导致502的原因,但可能会出现并发请求、状态捕获异常的问题,调整为异步等待写法:// 更新操作 await db('TEST').where(e.eq('number', 16)).set({number: 20}).one() // 删除操作 await db('TEST').where(e.eq('number', 16)).delete().one() - 确认项目配额和请求参数
免费版Easybase有存储容量、请求频率的限制,配额耗尽时也会返回502错误,可进入控制台查看配额使用情况。另外要确认where条件里的字段值和表字段类型完全匹配,比如number列是数字类型就不要传字符串'16'进行匹配,避免触发后端参数解析错误。
内容的提问来源于stack exchange,提问作者sarahm16
相关产品推荐
相关产品推荐

