刷新如何设计好?

现有一系统,服务端提供接口,客户端调用接口进行操作,现在的问题是:假设客户端添加或者删除一个新的物品,然后,客户端对应的商品列表会发生变化,这时候需要进行刷新,怎么完成这样的功能逻辑好?
第一种方案:服务端提供添加,删除和刷新的接口,客户端调用添加,删除接口,然后,在操作成功的回调中调用刷新接口。
第二种方案:服务端提供添加,删除的接口,同时操作成功的返回数据中包含最新的首页数据列表。

我现在的做法是采用第二种方案:

@dict_manager.route"/dictionary_type", methods=["POST"]
def create_dictionary_type: return jsonify{"code":ModelResponseCode.Scuess}, 301, {"Location": url_for"dict_manager.refresh_dictionary_types", msg="添加字典 {name} 成功!".formatname=dict_type.name, _external=True} @dict_manager.route"/dictionary_type/<string:msg>", methods=["GET", "POST", "PUT", "DELETE"]
def refresh_dictionary_typesmsg: return jsonify{"data":{}, "code":ModelResponseCode.Scuess, "msg":msg}

同时操作成功的返回数据中包含最新的首页数据列表。

这个列表是你查出来的?还是直接把客户端做的修改加进去就完了?

其实说到刷新的问题,就要考虑时效性敏感不敏感?用户很多,很多的操作,就要有这样的机制来减少这么多的刷新负担,但时效性也是和需求密切相关的,比如说淘宝开店添加商品,也不是立刻就能让大家都看到的(近几年没有了解,之前是这样的)。

如果必须要实时的变化,修改后必须立刻显示变化,你的第二种方法可能更好一些,虽然第一种比较简单和通用(服务端不用做什么了通知客户端去做刷新即可)。

发表评论

电子邮件地址不会被公开。 必填项已用*标注