我有一个 API 可以让你销毁一个对象。我不确定的部分是记录被销毁后应该呈现什么 JSON。这里有几个选项,但我不确定最佳做法是什么。
版本 1:
返回空对象,状态为 204
def destroy
item = current_user.current_cart.items.find(params[:id])
item.destroy
render json: {}, status: :no_content
end
版本 2:
归还元素,即使它已被销毁
def destroy
item = current_user.current_cart.items.find(params[:id])
item.destroy
render json: item
end
其中一个优先于另一个吗?有没有我没想到的可能更受欢迎的版本?
最佳答案
对于删除请求,http 状态码 200 或 204 表示资源已成功删除。
9.7 删除
如果响应包含描述状态的实体,则成功的响应应该是 200(OK),如果尚未执行该操作,则应为 202(已接受),或者如果该操作已执行但响应为 204(无内容)不包括实体。
因此您可以返回带有 200 状态码的对象或带有 204 状态码的空响应
关于ruby-on-rails - 销毁记录时应该渲染什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17093572/