API接口设计 - 切换或2个不同的接口

时间:2016-01-13 01:34:08

标签: api interface api-design

我正在研究界面设计。

这就是我的好奇心。

  • 一些开放API支持2个不同的接口来实现切换。即instagram like界面。它像界面一样分开(比如,取消像)
  • 将这两者分开是有什么好处。(在我看来,分成两个界面会使最终用户更加复杂)

我对此提出质疑,因为它可以通过切换来实现。

即。用户发送item_id和user_id。服务器检查数据库(此项目已被喜欢或未被取消),并更新。

谢谢你的回答!

2 个答案:

答案 0 :(得分:2)

使用两个切换接口的真正好处是它不需要用户知道他们试图改变的东西的当前状态(即它不需要我首先查询状态)。

如果我是API的使用者,通常我会想要执行诸如like之类的操作。我很少能想到我想要执行do the opposite of what I did previously的动作的情况(除非我感觉像是翻转)。如果您没有likeunlike的两个端点,那么您首先必须轮询API以获取当前状态,然后执行您正在讨论的切换(如果需要)。

这种情况会在代码中引入更多逻辑,要求您对API进行1-2次调用,并假设状态在调用之间没有变化;有两个端点会减少逻辑,将每次操作的API调用限制为1,并且您不必担心状态会意外地发生变化。

如果您尝试like用户已经like d的内容,那么API只会返回成功的结果而不会更改基础数据。

答案 1 :(得分:0)

选择明确指定所需状态的接口的一个原因是它将是幂等的。也就是说,即使多次请求,结果状态也是相同的。

这是一个非常人为的例子,但是如果两个不同的人共享同一个帐户试图在一个足够小的窗口中喜欢同样的东西,那么你最终可能不会喜欢它。