如何解决更新 React Admin Simple Rest Data Provider 后,所有请求都返回 416 Range Not Satisfiable
在将 ra-data-simple-rest 从 3.3.2 更新到 3.10.4 后,对我们的 API 列表的每个请求都开始失败,并显示错误 416 Range Not Satisfiable。
后端没有改变,我们仍然按照 ReactAdmin 文档的规定允许和返回 Content-Range Header
即:
headers:
{
'Access-Control-Expose-Headers': 'Content-Range','Content-Range': 'myresource 0-50/32'
}
}
我检查了 ReactAdmin Data Simple Rest 的源代码,根据我的理解,由于 Chrome 中的某些行为,更改与添加另一个标头范围有关(请参阅 history of commits)
尽管如此,由于 Error 416 Range Not Satisfieble ,所有通过 ReactAdmin 进行的查询都在浏览器中失败。使用 CURL 和 Postman 检查请求通过并包含正确公开的所有必要标头。
通过在使用 FetchUtils 发送请求之前手动删除新的 Range 标头,问题就消失了。
经过研究和尝试后,我们 found out 发现 ReactAdmin 使用的 Content-Range 分页方法在某种程度上很笨拙,最好使用 X-Total-Count 。
我们完全删除了 Header ContentRange,并使用 XTotalCount 代替(我们在 dataProvider/httpclient 中按照文档指定了参数,问题消失了。
我不明白的是为什么会发生这种情况。我在代码中看不到任何阻止我继续使用 Content-Range 的内容,不幸的是我没有在 Changelog 或 Upgrade(也没有问题)中找到任何讨论我们遇到的问题的文档。 所以我想知道我们是否在后端或我们使用提供者的方式上做错了什么,或者代码有一个以前没有人遇到过的错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。