我正在尝试使用simpleRestProvider。我的后端是春季靴子。使用入门网站,数据休息等。GET_LIST端点的后端响应为:
{"content":[
{"id":1,"title":"Title One","content":"Content One","date":[2014,12,1,1,1],"published":true},
{"id":2,"title":"Title Two","content":"Content Two","date":[2015,2,10,1,1],"published":true}
]}
我无法克服react-admin的错误:
对“ GET_LIST”的响应必须类似于{data:[...]},但是 接收到的数据不是数组。 dataProvider可能是错误的 “ GET_LIST”
在react-admin中查看调试器,我看到我的响应已经包装在一个数据对象中,所以看起来像这样:
数据:{content:Array(2)}
并且在ra-core.sideEffects中的fetch.ts的第35行上失败
if (
fetchActionsWithArrayOfRecordsResponse.includes(type) &&
!Array.isArray(response.data)
) {
logger(
`The response to '${type}' must be like { data : [...] }, but the received data is not an array. The dataProvider is probably wrong for '${type}'`
);
throw new Error('ra.notification.data_provider_error');
}
我知道发生了什么事,response.data不是数组,而且我嵌套的层次太深了。
我无法: A)配置react-admin以查看我的响应而不将其包装在数据对象中 B)从spring返回未封装在内容对象中的数组。
我想念什么?
答案 0 :(得分:1)
我最终从SimpleRestProvider创建了一个dataProvider,并修改了converHttpResponse的返回值。