【发布时间】: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”的位置会有所不同。例如:
- 如果要价低于“badConditionPrice”,则会显示在“badConditionPrice”和“goodConditionPrice”的左侧。
- 如果要价大于“badConditionPrice”但小于“goodConditionPrice”,则为中间价。
- 如果要价大于 "goodConditionPrice" ,它将在 "goodConditionPrice" 的右侧。
我的问题是 - 谁应该决定“askingPrice”的确切位置 - CLIENT 还是 SERVER?
如果它的服务器我们需要发回标志来指示它的位置,或者如果它的客户端,我们需要在每个客户端编写这个逻辑。
【问题讨论】:
-
这是相当固执的,取决于你的设计。我会选择定位取决于客户。服务应该只返回信息,客户端如何将这些信息呈现给用户是它的事情。一位客户可能会根据价格定位图片,另一位客户可能只会将颜色从绿色到橙色再到红色或类似颜色。
-
@RomanVaottner:假设所有客户都以相同的方式定位它,应该如何选择?
-
您是否只是在寻找将呈现状态从客户端转移到服务的参数?如果是这样,那么您已经有了解决方案,并且该帖子毫无用处
标签: rest api api-design