我们可以使用Rails的默认控制器的移动API请求?

我有Rails应用程序,我想在我的android手机中使用CRUD功能。

Rails在所有控制器中都提供了默认的respond_to动作(html,json,xml..etc)。 我一直在为Android开发移动应用程序。 我想在我的移动Rails应用程序中执行CRUD操作。 我们可以使用此默认respond_to进行API调用吗?

如果我们为API提供单独的命名空间,在默认的所有控制器中编写相同的方法/代码,则必须再次为API所有控制器编写代码。

我无法在这里应用RAILS DRY概念!

在不重复控制器代码或模型代码的情况下,在Rails中执行API功能的最佳方式是什么?


它可以按照上面所述完成。 但我不会认为这似乎是共识。 我会去头,并创建一个单独的基本控制器,你可以做一些事情,如禁用禁用CSRF检查。 此外,您可能会在浏览器客户端中使用很多令牌代码,您只需在api调用中使用代码代码。 为此目的,葡萄是一个伟大的宝石。


是的,您可以使用默认的respond_to方法进行api调用。

respond_to do |format|

  format.html # show.html.erb
  format.json { render json: @user }

end

另一种方法是在routes.rb指定默认格式

resources :clients, defaults: {format: :json}

这些是DRY制作API的方式。 要正确序列化json ,你可以使用ActiveModel :: Serializer或jBuilder Gem。

Rails有专门用于创建apis的特殊的gem rails-api 。 考虑使用,而不是铁轨

链接地址: http://www.djcxy.com/p/45647.html

上一篇: Can we use Rails default controller for Mobile API request?

下一篇: Server Side Rendering/Templating