php - RESTful API设计中如何实现批量操作

 werwd2_736 发布于 2022-12-01 16:42

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 的定义(至少我是这样觉得),毕竟是为了优化性能而存在的东西。

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

    resources :shops do
      collection do
        post :association_shops
      end
    end
    
    2022-12-01 16:53 回答
  • 2022-12-01 16:53 回答
  • 2022-12-01 16:53 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有