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

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

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

共收到 10 条回复

分开两套

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

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

teddyinfi 回复

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

chengkai1853 回复

考虑代码重用的抽象

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

分开写,妥妥的

分两套,说下原因:

  1. API 并不是把原本渲染网页的 controller 数据改成渲染 JSON 就完了,它的职责更加单一化
  2. 如果主要逻辑在 service object (model 也行) 里,controller 分开很简单。把 controller 想像成处理 HTTP 接口的层就行。
darkbaby123 回复

赞同

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册