刷新如何设计好?
现有一系统,服务端提供接口,客户端调用接口进行操作,现在的问题是:假设客户端添加或者删除一个新的物品,然后,客户端对应的商品列表会发生变化,这时候需要进行刷新,怎么完成这样的功能逻辑好?
第一种方案:服务端提供添加,删除和刷新的接口,客户端调用添加,删除接口,然后,在操作成功的回调中调用刷新接口。
第二种方案:服务端提供添加,删除的接口,同时操作成功的返回数据中包含最新的首页数据列表。
我现在的做法是采用第二种方案:
@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} 成功!".format(name=dict_type.name), _external=True)}
@dict_manager.route("/dictionary_type/<string:msg>", methods=["GET", "POST", "PUT", "DELETE"])
def refresh_dictionary_types(msg):
return jsonify({"data":{}, "code":ModelResponseCode.Scuess, "msg":msg})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个列表是你查出来的?还是直接把客户端做的修改加进去就完了?
其实说到刷新的问题,就要考虑时效性敏感不敏感?用户很多,很多的操作,就要有这样的机制来减少这么多的刷新负担,但时效性也是和需求密切相关的,比如说淘宝开店添加商品,也不是立刻就能让大家都看到的(近几年没有了解,之前是这样的)。
如果必须要实时的变化,修改后必须立刻显示变化,你的第二种方法可能更好一些,虽然第一种比较简单和通用(服务端不用做什么了通知客户端去做刷新即可)。