当前位置: 首页 > 面试题库 >

Rails 3:在Rails中使用JSON响应REST-ful操作的正确方法是什么?

东郭腾
2023-03-14
问题内容

我正在尝试使用对RESTful资源控制器的JSON响应为Rails应用程序创建API。这对我来说是一种新的体验,因此我正在寻找一些指导和指导。首先开始:

  1. 在Rails应用程序中,用JSON响应REST控制器方法的“正确”方法是什么?(创建,更新,销毁)
  2. 是否有惯用的方式通过JSON响应指示成功/失败?

附加信息:

  • 我目前正在使用Rails 3.0.beta2
  • 我想避免使用插件或gem来完成繁琐的工作,我的目标是更好地了解如何制作Rails 3 API。
  • 链接到我可以找到有关该主题的更多信息的地方的链接也将不胜感激,在Google上进行一些快速搜索对我没有多大帮助。

问题答案:
#config/routes.rb
MyApplicationsName::Application.routes.draw do
  resources :articles
end

#app/controllers/articles_controller.rb
class ArticlesController < ActionController::Base

  # so that respond_with knows which formats are
  # allowed in each of the individual actions
  respond_to :json

  def index
    @articles = Article.all
    respond_with @articles
  end

  def show
    @article = Article.find(params[:id])
    respond_with @article
  end

  ...

  def update
    @article = Article.find(params[:id])
    @article.update_attributes(params[:article])

    # respond_with will automatically check @article.valid?
    # and respond appropriately ... @article.valid? will
    # be set based on whether @article.update_attributes
    # succeeded past all the validations
    # if @article.valid? then respond_with will redirect to
    # to the show page; if !@article.valid? then respond_with
    # will show the :edit view, including @article.errors
    respond_with @article
  end

  ...

end


 类似资料:
  • 什么是REST API响应结构和布局的最佳实践? Scrath示例: 成功回应: 失败响应:

  • 我正在尝试在y应用程序中实现REST APIendpoint。 因此,我编写了包含映射为(Heroku/ResSources)的方法的类。但是当我试图调用它时,我得到一个404错误,因为没有找到。但是,我甚至不想获得视图,而是要获得HTTP响应。

  • 我想在Spring中创建一个符合REST的endpoint。endpoint应该允许分页。 请求非常简单,是否访问url/资源?页码=1 我发现了两种返回数据的大方法: 返回包含以下内容的自定义对象: 此方法的问题是它不再返回资源,而是返回资源的包装器。 这解决了资源问题,但它使endpoint更难使用,这是违反直觉的,因为它也需要额外的工作来实现。 我想知道,什么标准被更广泛地使用,为什么?对此

  • 问题内容: 我正在与我的CompSci教授交谈,他建议将所有String 方法编写为: 而不是: 这两行都可以编译,但是我想知道第一种方法的好处是什么?我一直都是后一种方式。错了吗 什么是普通/常规? 问题答案: 第一种方法确保执行比较时不会收到 NullPointerException 。当您尝试在不存在的对象上调用方法时,抛出(发生)此异常。 以下是一些相关的切线:仔细阅读风险自负 不过要注意

  • 所以,我想实现一个非常简单的输出。 我有与字段成功,消息和列表数据响应类。 和请求类 null null 我试过很多方法,但最后都没能做到。

  • 我正在尝试制作一个2D游戏引擎,但我似乎无法让碰撞一直起作用(通常情况下,物体会卡住或相互穿过)。在不太深入代码的情况下,下面是我更新的顺序。 获取用户输入并更新玩家速度 保存每个实体的位置,然后移动速度/更新间隔单位 检查每个可移动实体是否与所有其他实体发生碰撞。如果图元与某物碰撞,则会将其移动到其旧位置,并为两个碰撞图元设置新的速度。 碰撞冲量在此函数中计算: 这是检查碰撞的函数: 几天来,我