1

我正在使用 admin-on-rest 为我的 web 应用程序构建一个管理面板。

https://marmelab.com/admin-on-rest/的文档中,我没有找到更改其余 API 记录标识符的方法。似乎提交的总是'id'

我该如何解决这个问题?

4

1 回答 1

0

您必须以自定义方式执行此操作restClient(请参阅https://marmelab.com/admin-on-rest/RestClients.html)。例如,如果 API 返回带有_id标识符的记录:

const convertHTTPResponseToREST = (response, type, resource, params) => {
    const { headers, json } = response;
    switch (type) {
    case GET_LIST:
        return {
            data: json.map(x => { ...x, id: x._id } ),
            total: parseInt(headers.get('content-range').split('/').pop(), 10),
        };
    case UPDATE:
    case DELETE:
    case GET_ONE:
       return { ...json, id: json._id }; 
    case CREATE:
        return { ...params.data, id: json._id };
    default:
        return json;
    }
};

顺便说一句,请不要在此处和admin-on-rest issue tracker 中重复发布,这会给维护者带来更多工作。

于 2017-03-02T12:46:45.483 回答