Ajax 在成功的RESTAPI POST/PUT/DELETE请求中返回数据字段是可接受的最佳实践吗?

Ajax 在成功的RESTAPI POST/PUT/DELETE请求中返回数据字段是可接受的最佳实践吗?,ajax,api,rest,Ajax,Api,Rest,只是一个一般性的“最佳实践”问题: 假设我向REST API发出了一个AJAXPUT请求,以更新特定资源: $.ajax({ url: "/loads/" + id, type: "PUT", data: { name: "some name", age: 34, title: "some title", company: "some company" }, success: function

只是一个一般性的“最佳实践”问题:

假设我向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
请求可以返回:

{
    age: 37
}
由于影响该物业的其他消费者/因素


否则,在
PUT
之后是否应该进行第二次
GET
调用以检索(潜在的)新资源?

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


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

您应该查看mBaaS提供程序的现有REST API。许多人通常会发回新修改的对象;谢谢出于好奇,您所说的“语义媒体类型”到底是什么意思?语义媒体类型是一种传递有关状态表示的信息的媒体类型。这正是浏览器的工作方式。例如,当浏览器看到
文本/html
图像/jpeg
时,它知道解释该内容必须遵循的规则。同样,您将在自定义媒体内容的描述中传达这些规则(例如
application/json+person
)。这是第三级的。