刷新如何设计好?

发布于 2022-09-01 06:38:16 字数 753 浏览 48 评论 0

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

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

@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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白鸥掠海 2022-09-08 06:38:16

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

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

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文