如何使用admin-on-rest管理DELETE响应状态代码204?

时间:2017-05-09 13:41:24

标签: admin-on-rest

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

所以在DELETE上我收到错误信息:

  

REST响应必须包含数据密钥

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

2 个答案:

答案 0 :(得分:1)

所以,如果我的琐碎答案转换为评论,请写下更多细节。

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

import customRestClient from './customRestClient'

创建customRestClient.js并输入jsonServerRestClient.js的代码 函数convertHTTPResponseToREST 你可以添加

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

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

答案 1 :(得分:0)

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

e.g。

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:
            ...
    }
};

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