首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API开发-设计考虑

API开发-设计考虑
EN

Stack Overflow用户
提问于 2010-06-28 12:09:57
回答 2查看 891关注 0票数 6

在我4年的工作经验中,我开发了很多web应用程序。现在,可编程web的概念越来越流行,新的API几乎每天都在发布。我想为这些endpoints.Ex堆栈、reddit、digg等开发一个java /库.我想从你们那里知道的是

  • :普通web应用程序的API与这些库的API不同。或者,这两者与设计perspective
  • What的区别是什么?最好的API开发practices.
  • What是我在设计API

之前需要考虑的所有因素。

如果细节不够,请评论。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-29 06:31:45

稳定性

如果您为您的web应用程序提供API,可能是因为您希望其他人使用它来构建应用程序。如果不稳定,他们会讨厌您强迫他们执行您的频繁更改。如果这需要太长时间,他们的站点可能会在很长一段时间内不起作用,因为他们正在您的API中寻找新的方法。

紧致

您希望API是完整但紧凑的,就像不需要记住的太多一样。

正交

将其设计成只有一种方式的来更改每个属性或触发一个操作。正交API中的操作应该具有最小的(如果有的话)副作用。

此外,一旦发布了公共API,从公共API中删除一个特性也不是一个好做法。

安全与认证

由于API是网络公开的,所以您必须对每个请求进行身份验证,并授予适当的访问权限。安全常识适用于此。

快速响应或分解成块

我相信,在一个网络环境中,我们应该有快速的反应,并避免请求,这将需要太长时间来完成。如果这是不可避免的,那么最好发送一个ACK,并将任务分解为几个部分和随后的调用。

票数 13
EN

Stack Overflow用户

发布于 2010-06-28 12:23:02

根据我的经验,所有好的API都不是为了解决一个通用问题,而是为了解决一些需要某种抽象的问题。然后,随着需求和/或底层的变化,这种抽象就会进化。

因此,与其找到能够完成所有任务的API,不如从找到一两个好的案例开始,如果您的API能够提供帮助的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3132201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档