Rails Rails 同时作为网站和 App API 接口怎么弄?

chengkai1853 · March 29, 2018 · Last by coly replied at March 30, 2018 · 2285 hits

我想用 Rails 写一个网站,网站接口可以作为 ios 或者 安卓 app 的接口。devise 作为网站登录,knock 作为 App api 登录。因为 web 有 protect_from_forgery,如果这样,我是不是必须写两套 rails 程序啊?一套用为 web,一套用作 app api。请问大家一般都是怎么弄的啊?

分开两套

可以写在一个工程里面 route 分下就好了。

route 用不同的 namespace 继承不同的 controller

Reply to teddyinfi

对模型数据增删改查代码那就是也要分开了了?

考虑代码重用的抽象

写在一个里面,把路由分开就行了

分开写,妥妥的

分两套,说下原因:

  1. API 并不是把原本渲染网页的 controller 数据改成渲染 JSON 就完了,它的职责更加单一化
  2. 如果主要逻辑在 service object (model 也行) 里,controller 分开很简单。把 controller 想像成处理 HTTP 接口的层就行。
You need to Sign in before reply, if you don't have an account, please Sign up first.