ruby-on-rails - 销毁记录时应该渲染什么?

标签 ruby-on-rails json api rest ruby-on-rails-3.2

我有一个 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/

相关文章:

javascript - 使用javascript通过字符串过滤json字段

api - Google Analytics API入门

ruby-on-rails - block 中出现意外的语法错误

ruby-on-rails - 如何为非 Web 前端进程设置监控?

php - 去除PHP中json_encode中多维数组的int索引

java - 从文本文件中读取 JSON

java - 如何使用 DAO 在 Spring Boot 查询中返回特定对象属性?

node.js - 这个 API 签名请求方法安全吗?

ruby-on-rails - Ruby on Rails - 通过 IP 限制点击

javascript - Rails 4 和 AngularJS 1.3.x $http.get 出现 406 Not Acceptable 错误