gpt4 book ai didi

REST API : Return error for GET request if document would change depending on query parameter?

转载 作者:行者123 更新时间:2023-12-03 08:45:29 24 4
gpt4 key购买 nike

我们目前正在实现一个 REST API 来处理在线商店中的购物车。为此,我们需要能够更改购物车的购买货币。我们系统中的类似 API 使用查询参数来更改语言环境或货币等内容,例如。 G。要检索产品信息(包括特定货币的价格),您可以发出如下请求:GET /products/<product-id>?currency=USD
对于我们的购物车 API,像这样更改货币意味着我们需要使用新货币的价格在内部触发计算;如果购物车中有产品不可用此货币,则这些产品将被删除。由于 GET 请求应该只检索数据,而不是更改它,我们不想触发 GET 请求的计算。但我们不确定如何处理它:我们是否应该以旧货币退 repo 物车并忽略客户请求不同货币的事实,或者我们是否应该返 repo 物车对于请求的货币无效的错误(因此根本不退 repo 物车文件)?

当使用新货币对购物车发出 POST 或 PUT/PATCH 请求时,无论如何都会重新计算,所以这种情况没有问题。

另一种方法是将货币作为字段包含在资源文档中,而不是查询参数。这意味着它不能通过 GET 请求更改,尽管通过 POST/PUT/PATCH 客户端可以通过请求正文明确指定货币。但是,此解决方案与我们系统中的其他 API 不同,这也不是最佳的。

如果您看到其他解决方案,请随时提出建议。提前致谢!

最佳答案

  • 您能否更清楚地说明该项目是否使用不同的货币
    您的系统支持货币转换,或者您只是想
    丢弃那些元素。
  • 基本上你应该在计算时进行货币转换
    添加到购物车时的总价格而不是转换
  • 或者您应该将货币作为路径参数而不是查询参数,并根据用户货币将其固定在其余 uri 中。这样用户就不能请求其货币以外的任何不同货币的项目(假设用户必须设置他的货币)
  • 关于REST API : Return error for GET request if document would change depending on query parameter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55722466/

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