GET_LIST响应中的嵌套对象

时间:2019-02-10 01:44:40

标签: spring-boot react-admin

我正在尝试使用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返回未封装在内容对象中的数组。

我想念什么?

1 个答案:

答案 0 :(得分:1)

我最终从SimpleRestProvider创建了一个dataProvider,并修改了converHttpResponse的返回值。