在我4年的工作经验中,我开发了很多web应用程序。现在,可编程web的概念越来越流行,新的API几乎每天都在发布。我想为这些endpoints.Ex堆栈、reddit、digg等开发一个java /库.我想从你们那里知道的是
之前需要考虑的所有因素。
。
如果细节不够,请评论。
发布于 2010-06-29 06:31:45
稳定性
如果您为您的web应用程序提供API,可能是因为您希望其他人使用它来构建应用程序。如果不稳定,他们会讨厌您强迫他们执行您的频繁更改。如果这需要太长时间,他们的站点可能会在很长一段时间内不起作用,因为他们正在您的API中寻找新的方法。
紧致
您希望API是完整但紧凑的,就像不需要记住的太多一样。
正交
将其设计成只有一种方式的来更改每个属性或触发一个操作。正交API中的操作应该具有最小的(如果有的话)副作用。
此外,一旦发布了公共API,从公共API中删除一个特性也不是一个好做法。
安全与认证
由于API是网络公开的,所以您必须对每个请求进行身份验证,并授予适当的访问权限。安全常识适用于此。
快速响应或分解成块
我相信,在一个网络环境中,我们应该有快速的反应,并避免请求,这将需要太长时间来完成。如果这是不可避免的,那么最好发送一个ACK,并将任务分解为几个部分和随后的调用。
发布于 2010-06-28 12:23:02
根据我的经验,所有好的API都不是为了解决一个通用问题,而是为了解决一些需要某种抽象的问题。然后,随着需求和/或底层的变化,这种抽象就会进化。
因此,与其找到能够完成所有任务的API,不如从找到一两个好的案例开始,如果您的API能够提供帮助的话。
https://stackoverflow.com/questions/3132201
复制相似问题