2012-11-03 62 views
4

我有兴趣创建将提供API服务的应用程序。与Facebook类似,终端开发者将能够注册应用程序并接收个性化数据,以便通过第三方应用程序访问提供的API。目前,我想提供一个PHP和JavaScript SDK,以允许开发人员通过安全方法(私钥 - 公钥)访问API。创建REST API客户端和服务器

我想我已经或多或少,掌握了如何处理这个整体的认识:

  • 内置在处理请求的REST服务器,
  • 内置于充当API服务器请求和REST服务器之间的隔离(验证密钥,权限等)
  • 内建的JavaScript库,等同于Facebook的“all.js”,它异步进入页面并可动态执行API调用,以及对API服务器进行验证。

此外,我希望在内部使用API​​,即通过网站上的内部JavaScript文件发出PUT/GET/POST/etc请求。

我希望能够使用CodeIgniter作为启动应用程序的基础,因此如果对库,技术和方法有任何建议,都会很棒。

具体来说,凡提述:关于应用程序,范围的请求,基于角色的权限,会议,日志,等等等等

  • SQL表结构
  • 如何创建/理想JavaScript库的模板一样做同Facebook的“all.js”
  • 图书馆可以做到公私密钥授权

将是非常有益的。我似乎无法找到任何东西。

我知道下面的:

https://github.com/philsturgeon/codeigniter-restserver

但是它作为开发API的一个很好的模板,是不是数据库验证。

任何帮助,非常感谢!

回答

0

,最好的办法是创建普通web应用程序与你的框架 - 这就像用,无需实施任何额外的REST调用了最大的灵活性管理面板。然后使用必要的API调用将REST API作为模块(或插件)创建到应用程序。 如果您打算将REST API用于客户端和内部目的,有一天您会发现自己被锁定在您自己的API中。

0

通常不需要两个级别的API,由于体系结构和安全性原因,您可以将代码与外观和核心逻辑分开。 至于客户端,我建议基于一些自动生成API描述符自动生成客户端,这将使您能够通过点击来更新客户端库。 在Kaltura中,我们为使用来自服务器代码的反射生成的所有API服务器生成XML描述符,请参阅示例:http://www.kaltura.com/api_v3/api_schema.php 从该描述符中,我们使用不同的编码语言自动生成许多不同的客户端库,请参阅生成器:https://github.com/kaltura/clients-generator,原样。

有关更多REST API服务器的指导原则,请参阅我的博客:http://restafar.com/create-new-rest-server/