3

我正在尝试将admin-on-rest与发送 204 HTTP 响应的 api 集成,而在成功删除时没有正文。

所以在 DELETE 我收到错误消息:

REST 响应必须包含数据键

我正在使用jsonServerRestClient,我想知道如何覆盖这个客户端,以便它在 DELETE 上接受 204 并重定向到列表?

4

2 回答 2

1

所以,如果我的琐碎答案被转换为评论,请写得更详细。

您可以编写自己的客户端。将此添加到 App.js

import customRestClient from './customRestClient'

customRestClient.jsjsonServerRestClient.js 那里创建代码并将其放入convertHTTPResponseToREST 您可以添加的函数中

console.log(response);
console.log(type);
console.log(resource);
console.log(params);

并看到这response是包含响应代码的对象。如果阻止,您可以通过添加 DELETE 来编写自己的行为。我希望它会帮助你

于 2017-05-09T23:49:16.970 回答
0

更新您的休息客户端中的 convertHTTPResponseToREST 方法以处理 DELETE 请求的响应并包含一个数据键(可以只是一个空对象)。

例如

const convertHTTPResponseToREST = (response, type, resource, params) => {
    ...
    switch (type) {
        case GET_LIST:
            ...
        case GET_MANY_REFERENCE:
            ...
        case CREATE:
            ...

        /* START OF MAGIC */

        case DELETE:
            return { data: { } };

        /* END OF MAGIC */

        default:
            ...
    }
};

我相信在成功删除后重定向回列表是默认行为。

于 2018-02-01T23:24:36.993 回答