werwd2_736 发布于 2017-05-11 01:33

RESTful API设计中如何实现批量操作?比如一次请求删除N个ID,类似ElasticSearch中bulk那种设计。

4 个回答
  • 设计方法有很多种,借用Backbone.js 的说法:There's More Than One Way To Do It,不要太纠结。

    简单的说,下面几种都不错:

    • GET /ec2/instance/batch?id=aa,bb,cc:简约的设计
    • GET /ec2/instance?batch={"ids":["aa","bb","cc"]}:健壮的设计
    • GET /ec2/instance?batch=[{"method":"DELETE","id":"aa"},{"method":"DELETE","id":"bb"},{"method":"DELETE","id":"cc"}]facebook 的设计(墙外)

    把上面的 GET 都改成 POST 也没什么问题。

    设计 batch 的时候就不用太纠结于 RESTful 的定义(至少我是这样觉得),毕竟是为了优化性能而存在的东西。

    2017-05-11 19:46 回答
  • 批量操作主要是js的操作,获取多个id后用ajax把id集合发送给一个action,具体操作写在action中。
    举个例子,routes可以这样写

    resources :shops do
      collection do
        post :association_shops
      end
    end
    
    2017-05-11 10:23 回答
  • 2017-05-11 11:54 回答
  • 2017-05-11 18:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
活跃用户
  • 1
    问道摩托
  • 2
    袁广龙976丶
  • 3
    逍遥子
  • 4
    亮仔
  • 5
    芙蓉花
  • 6
    作小die_syj
  • 7
    mobiledu2502875483
  • 8
    王丽珠景平怡伦_621
  • 9
    adfa3sd5f6a
  • 10
    欣欣大妮
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有