成功的REST API POST / PUT / DELETE请求返回数据字段是否是可接受的最佳做法?

时间:2013-07-24 19:57:52

标签: ajax api rest

只是一般性的“最佳做法”问题:

假设我已经向REST API发出了一个AJAX PUT请求,以便更新特定资源:

$.ajax({
    url: "/loads/" + id,
    type: "PUT",
    data: {
        name: "some name",
        age: 34,
        title: "some title",
        company: "some company"
    },
    success: function(data) {
        console.log(data);
    }
});

PUT之后,直接(由于PUT)或间接(由于其他影响)返回此资源上已更改的任何属性是否可接受?

例如,PUT请求可能会返回:

{
    age: 37
}

由于影响该财产的其他消费者/因素。

否则,是否应在GET之后进行辅助PUT调用以检索(可能)新鲜资源?

1 个答案:

答案 0 :(得分:3)

是的,这是完全可以接受的,甚至是可取的。毕竟,REST代表具有代表性的国家转移,因此在实现国家变更后,显示受影响实体/实体的状态并没有错。您还可以通过不要求后续GET请求来最小化聊天。

如果您为此操作的结果定义了语义媒体类型,也可以传达此信息。