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

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

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

  1. 不做路由嵌套
  2. resouces 当做命名空间用
  3. 不用七种动作
  4. 只用 collection
  5. 只用 get 和 post 方法
  6. 命名方式为动宾结构,遵循命名惯例
namespace :api do
   namespace :v1 do
      namespace :users 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
end

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

感觉不舒服...

典型的反模式,开心就好

咋写出 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)之类的,可能更会把接口定的不伦不类的。

ThxFly 关于 URL 规范 提及了此话题。 01月10日 18:07
需要 登录 后方可回复, 如果你还没有账号请 注册新账号