Rails 咨询一个 Api 提交数据的格式问题

wuwx · 2014年01月19日 · 最后由 reyesyang 回复于 2014年01月21日 · 3701 次阅读

假如建立一个 api 服务器:http://localhost:3000/api/users 如果你想新建一条记录,就 POST 到这个地址

{
    name: hahaha
    password: hahaha
}

不过有个小疑问,这种结构下没有最外层的 user 结构,按我的理解 rails 构造的 api 是否应该提交这样的数据更好点?

{
  user: {
    name: hahaha
    password: hahaha
  }
}

然后就可以通过 params[:user] 直接全取出来了,new 的时候也方便呀

假如需要 form_for :remote => true 的时候这个 api 不就也能用了么?

可是我看到 twitter 的 api 和 github 的 api 都是第一种形式,也就是没有外面那层的 user

是否可以解释下第一种有什么好处么?

同问,从前端解析方便角度,期望第二种方式,可以数据实体分开获取。

第二种是 rails 默认的方式,相当与有个 namespace,如果 form 对应多个 model 的时候就会很清楚

倾向于第二种

第一种方式的好处就是数据结构看起来更简洁吧

然后就可以通过 params[:user] 直接全取出来了,new 的时候也方便呀

如果使用第一种方式,那么这句话就改成了

然后就可以通过 params 直接全取出来了,new 的时候也方便呀

Turned on config.wrap_parameters in your initializer or calling wrap_parameters in your controller

我觉得最大的好处就是第一种的参数对调用方而言,构造起来更简单。

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