1

我是 web 服务开发的初学者,我想问一个设计问题来了解什么是最好的方法。我必须创建一个 web 服务,它将一些对象返回给用户,它必须像这样工作:

  • 请求:把系统里的红苹果给我
  • 回应:5 个红苹果。还发现了 3 个青苹果。我也应该退货吗?
  • 请求:是 -> 响应返回 8 个苹果
  • 请求:否 -> 响应返回 5 个苹果

你会使用单一的网络服务来做到这一点吗?如果是这样,跟踪当前状态的最佳方法是什么?(我正在考虑在请求/响应中添加 2 个标志,但我不知道这是否是个好主意..)

4

1 回答 1

0

您当然会使用单个 Web 服务来执行此操作,尽管您可以选择在其中实现多个操作(方法)。

状态管理通常需要某种形式的存储——您可以使用数据库或内存缓存,并且您需要考虑诸如处理规模、高可用性、清理例程等事项。

为了在请求之间建立关联,您需要传递一些令牌,通常这将由第一个请求或第一个响应提供,然后在后续调用中重新使用,这将允许服务提取相关上下文

由于存在支持这种实现的标准,因此各种框架和语言都内置了对此的支持,我会在您用于实现的相关技术中寻找一些东西。

最后但同样重要的是,通常在考虑 Web 实现时,状态是不可取的,因此 - 尽可能选择无状态实现。请求者可以发出全新的请求以获取下一批数据,而服务不需要记住任何内容。

于 2012-11-21T19:41:27.873 回答