0

我从外部 API 请求运费并得到如下结果:

ground  : '$1'
express : '$5'

然后我将这些选项展示给用户,他们从中选择一个。理想情况下,他们会提交一个代表他们选择的选项的 ID,我会查找相应的选项,但要查找它,我需要有一个存储的选项列表。我可以将选项列表存储在我的数据库中,但如果他们返回并更改地址或购物车中的物品,我将需要更新它。

这意味着我本质上是在缓存和重新缓存运输选项,这对于感觉相对简单的任务来说似乎是很多开销。

有没有更直接的方法可以做到这一点,我忽略了?

4

1 回答 1

0

为什么要存储它?根据 API 的响应动态生成表单/下拉列表,并将下拉列表的值设置为包含的不是 ID,而是美元汇率。然后,您在控制器中返回的参数是来自 API 的美元金额,并插入到表单中,而不是记录 ID。

假设运费不时变化,那么无论如何存储它是没有意义的。通常,这就是 API 的用途,因此您可以随时在需要时查找它。另一方面,给定订单的运费不太可能在用户会话的空间内发生变化。

为了在下面反映您的评论,您可以在下单时缓存运费、订单总重量和目的地地址。然后,仅当重量、订单中的商品或目的地地址发生变化时,才重新请求新的运费。

于 2011-10-27T01:56:03.747 回答