Rails [分享] 纯 API 项目的路由书写方式

ThxFly · 2018年09月06日 · 最后由 pinewong 回复于 2018年09月07日 · 819 次阅读

我们项目是纯api后端,采用以下形式的路由。

  1. 不做路由嵌套
  2. resouces当做命名空间用
  3. 不用七种动作
  4. 只用collection
  5. 只用get和post方法
  6. 命名方式为动宾结构,遵循命名惯例
resources :users, only: [] do
  collection do
    get :list_user
    post :create_user
    post :update_user
    post :delete_user
    get :show_user
    post :star_user
    post :say_hello_to_other_user
  end
end

一种写路由不再纠结的思路,希望大家喜欢。

共收到 9 条回复

感觉不舒服...

典型的反模式,开心就好

咋写出restful api

bestjane 回复

他们直接抛弃了 RESTful

应该是业务目前还够简单, controller 还没成长为裹脚布

@bestjane 之所以不用RESTful, 有以下考量

  1. RESTful 需要在url里拼接参数
  2. 对于纯api项目, 天然少了new和edit两种动作
  3. 生成的url最终用户是开发人员, 并不会展示给客户
index 对应 list_resource
create 对应 create_resource
update 对应 update_resource
show 对应 show_resource
destroy 对应 delete_resource

找到适合的就行, 不必强求RESTful.

也是一种思路,大概是java最喜欢的。。。

萝卜白菜各有所爱

我用 restful 的风格客户端都觉得不好,还说接口返回的最外层一会儿是数组一会儿是对象无法处理

也有被动的情况,比如对接方文档在先,并且规定只能用 POST 和 GET 动作。此时就应该完全放弃 RESTful,重新定义一个标准。如果继续强求 RESTful,无法实现的接口再绕个弯(删除,修改操作用 collection)之类的,可能更会把接口定的不伦不类的。

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