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

chengkai1853 · 2018年03月29日 · 最后由 coly 回复于 2018年03月30日 · 2298 次阅读

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

分开两套

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

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

teddyinfi 回复

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

chengkai1853 回复

考虑代码重用的抽象

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

分开写,妥妥的

分两套,说下原因:

  1. API 并不是把原本渲染网页的 controller 数据改成渲染 JSON 就完了,它的职责更加单一化
  2. 如果主要逻辑在 service object (model 也行) 里,controller 分开很简单。把 controller 想像成处理 HTTP 接口的层就行。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号