我即将编写一份API,希望能找到一些关于如何编写优秀API和需要注意的问题的好建议。
当然,我已经通过谷歌搜索找到了Dustin Diaz的这篇文章http://www.dustindiaz.com/api-writing-tips/,但除此之外,我并没有找到其他好的建议。
在创建API时,有哪些事情让您希望能够采用不同的方法呢?哪些是最重要的因素?
我打算使用OAuth。
出于希望这些建议对更多人有用的考虑,我故意不提供API的详细信息。
我即将编写一份API,希望能找到一些关于如何编写优秀API和需要注意的问题的好建议。
当然,我已经通过谷歌搜索找到了Dustin Diaz的这篇文章http://www.dustindiaz.com/api-writing-tips/,但除此之外,我并没有找到其他好的建议。
在创建API时,有哪些事情让您希望能够采用不同的方法呢?哪些是最重要的因素?
我打算使用OAuth。
出于希望这些建议对更多人有用的考虑,我故意不提供API的详细信息。
以下是我建议您关注的重点:
此外,以下链接可能对您有所帮助:
http://www.slideshare.net/eaton/building-apis-that-rock
http://www.notiondesign.ca/blog/story/how-not-to-build-an-api/
http://blog.apigee.com/category/api_best_practices/
http://blog.isnotworking.com/2007/05/api-design-guidelines.html
此外,这本书可能会帮助您入门:
我认为“语言无关”标签不适用于这个问题,而且它需要一个特定的语言标签。设计一个好的API需要考虑你正在使用的语言的特点和习惯用法。一些最重要的考虑因素:
所以,我能给出的最好建议是,对于你提出的这个问题(语言无关),不要假设存在语言无关的通用API设计准则,而是要了解你正在使用的语言及其适当的习惯用法。
致谢
http://sharismlab.com/blog/2012/07/21/how-to-write-an-api-for-your-web-app/
Protocol: HTTP
Dataformat : JSON/XML
Authentication : API key/Oauth
库和SDK的API实现:
创建原型,应在整个生命周期内保持不变。
通过添加额外的函数来扩展API,而不更改现有函数的原型。
允许用户尽可能提供多个输入作为函数的参数。
这样应用程序可以按照用户的请求完成其工作。
考虑用户并使API允许用户以最少的努力使用它。
参考:
API简介:https://zapier.com/learn/apis