【问题标题】:API: Is it correct to send back UI position related data in API response to the web/app clients?API:在 API 响应中向 Web/应用程序客户端发回 UI 位置相关数据是否正确?
【发布时间】:2017-04-10 03:27:56
【问题描述】:

我正在开发一个分类的汽车估价 API,它将返回二手车的价值。

示例 API 请求:

{
  "car": "BMW X3 sportline",
  "milesDriven": 20000,
  "yearOfPurchase": 2010,
  "askingPrice": "₹₹₹$20000"
}

请求发送汽车详细信息以及卖方期望的价格。

示例 API 响应:

{
  "badConditionPrice": "₹₹₹$30000",
  "goodConditionPrice": "₹₹₹$35000"
}

响应发回 2 个价格,以表明对汽车应出售的理想价格的粗略估计。

现在,在每个客户端(网络/应用程序)上,我们必须显示所有 3 个价格 - “askingPrice”、“badConditionPrice”、“goodConditionPrice”。

虽然“badConditionPrice”、“goodConditionPrice”有固定的位置[“bad”在左边,“good”在右边],但“askingPrice”的位置会有所不同。例如:

  1. 如果要价低于“badConditionPrice”,则会显示在“badConditionPrice”和“goodConditionPrice”的左侧。
  2. 如果要价大于“badConditionPrice”但小于“goodConditionPrice”,则为中间价。
  3. 如果要价大于 "goodConditionPrice" ,它将在 "goodConditionPrice" 的右侧。

我的问题是 - 谁应该决定“askingPrice”的确切位置 - CLIENT 还是 SERVER?

如果它的服务器我们需要发回标志来指示它的位置,或者如果它的客户端,我们需要在每个客户端编写这个逻辑。

【问题讨论】:

  • 这是相当固执的,取决于你的设计。我会选择定位取决于客户。服务应该只返回信息,客户端如何将这些信息呈现给用户是它的事情。一位客户可能会根据价格定位图片,另一位客户可能只会将颜色从绿色到橙色再到红色或类似颜色。
  • @RomanVaottner:假设所有客户都以相同的方式定位它,应该如何选择?
  • 您是否只是在寻找将呈现状态从客户端转移到服务的参数?如果是这样,那么您已经有了解决方案,并且该帖子毫无用处

标签: rest api api-design


【解决方案1】:

这实际上取决于您如何定位数据和您的偏好。什么更容易,并且需要您在以后需要时跳过更少的地方进行更改?

【讨论】:

    猜你喜欢
    • 2016-10-10
    • 2017-06-30
    • 2021-02-18
    • 1970-01-01
    • 2014-04-04
    • 2018-03-09
    • 2017-08-31
    • 2021-07-19
    • 2019-09-27
    相关资源
    最近更新 更多