我正在研究界面设计。
这就是我的好奇心。
like
界面。它像界面一样分开(比如,取消像)我对此提出质疑,因为它可以通过切换来实现。
即。用户发送item_id和user_id。服务器检查数据库(此项目已被喜欢或未被取消),并更新。
谢谢你的回答!
答案 0 :(得分:2)
使用两个切换接口的真正好处是它不需要用户知道他们试图改变的东西的当前状态(即它不需要我首先查询状态)。
如果我是API的使用者,通常我会想要执行诸如like
之类的操作。我很少能想到我想要执行do the opposite of what I did previously
的动作的情况(除非我感觉像是翻转)。如果您没有like
和unlike
的两个端点,那么您首先必须轮询API以获取当前状态,然后执行您正在讨论的切换(如果需要)。
这种情况会在代码中引入更多逻辑,要求您对API进行1-2次调用,并假设状态在调用之间没有变化;有两个端点会减少逻辑,将每次操作的API调用限制为1,并且您不必担心状态会意外地发生变化。
如果您尝试like
用户已经like
d的内容,那么API只会返回成功的结果而不会更改基础数据。
答案 1 :(得分:0)
选择明确指定所需状态的接口的一个原因是它将是幂等的。也就是说,即使多次请求,结果状态也是相同的。
这是一个非常人为的例子,但是如果两个不同的人共享同一个帐户试图在一个足够小的窗口中喜欢同样的东西,那么你最终可能不会喜欢它。