我正在使用 admin-on-rest 为我的 web 应用程序构建一个管理面板。
从https://marmelab.com/admin-on-rest/的文档中,我没有找到更改其余 API 记录标识符的方法。似乎提交的总是'id'
我该如何解决这个问题?
我正在使用 admin-on-rest 为我的 web 应用程序构建一个管理面板。
从https://marmelab.com/admin-on-rest/的文档中,我没有找到更改其余 API 记录标识符的方法。似乎提交的总是'id'
我该如何解决这个问题?
您必须以自定义方式执行此操作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 中重复发布,这会给维护者带来更多工作。