gpt4 book ai didi

在一个请求中创建多个项目的 RESTful 方式

转载 作者:行者123 更新时间:2023-12-03 04:38:29 32 4
gpt4 key购买 nike

我正在开发一个小型客户端服务器程序来收集订单。我想以“REST(ful)方式”来做到这一点。

我想做的是:

收集所有订单行(产品和数量)并将完整订单发送到服务器

目前我看到有两种选择:

  1. 将每个订单行发送到服务器:POST 数量和产品 ID

我实际上不想这样做,因为我想限制对服务器的请求数量,所以选项 2:

  • 收集所有订单行并将其立即发送到服务器。
  • 我应该如何实现选项 2?我的几个想法是:将所有订单行包装在 JSON 对象中并将其发送到服务器或使用数组来发布订单行。

    实现选项 2 是一个好主意还是好做法,如果是,我应该怎么做。

    什么是好的做法?

    最佳答案

    我相信解决此问题的另一种正确方法是创建另一个代表您的资源集合的资源。例如,假设我们有一个像 /api/sheep/{id} 这样的端点我们可以发布到 /api/sheep创建羊资源。

    现在,如果我们想支持批量创建,我们应该考虑在 /api/flock 建立一个新的集群资源。 (或者 /api/<your-resource>-collection 如果您缺乏更好有意义的名称)。请记住,资源不需要映射到您的数据库或应用模型。这是一个常见的误解。

    资源是更高级别的表示,与您的数据无关。对资源进行操作可能会产生显着的副作用,例如向用户发出警报、更新其他相关数据、启动长期存在的进程等。例如,我们可以映射文件系统甚至 unix ps作为 REST API 的命令。

    我认为可以安全地假设操作资源也可能意味着创建多个其他实体作为副作用。

    关于在一个请求中创建多个项目的 RESTful 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/411462/

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