gpt4 book ai didi

rest - REST 中的复杂事务?

转载 作者:行者123 更新时间:2023-12-01 04:48:27 24 4
gpt4 key购买 nike

这是一个后续问题:
Transactions in REST?

如何实现 REST API 为其客户提供完整的交易功能?

例如,如果客户端想要创建一个将执行以下操作的事务:

  • 创建一个或多个对象。
  • 更新一个或多个对象。
  • 删除一个或多个对象。

  • 虽然这是交易的有效要求,但它似乎打破了使用 PUT 创建、POST 更新和 DELETE 删除的 REST 要求。

    我当前的解决方案涉及将整个系统作为一个分层对象结构处理并使用 POST 操作。例如:
    POST /system
    {
    "Users" : [
    {
    "ID":"123",
    "name":"bob"
    // update the user with ID matching 123,
    // set his name to "bob"
    },
    {
    "ID":"456",
    "delete":"true"
    // trigger a delete on user with ID 456
    }
    ],
    "Products" : [
    {
    "name":"foo"
    // create a product named "foo" since no ID is provided
    },
    ]
    }

    到目前为止,这满足大多数 REST 要求,除了“删除”标志,这不是真正的数据。

    我很想知道是否有人找到了更好的解决方案。

    最佳答案

    同意 Jan 的观点,您需要在服务器端处理。但缺点是代码维护性差。是的,我使用 Restful 应用程序的经验表明,在 RESTFul 架构中坚持 PUT 和 DELETE 动词非常困难,因为对它们的各种浏览器版本支持非常有限.

    关于rest - REST 中的复杂事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11493311/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com