创建 REST API 客户端和服务器

4
我希望创建一个应用程序,提供API服务。类似Facebook,最终开发人员可以注册应用程序,并接收个性化数据,以便通过第三方应用程序访问所提供的API。目前,我想提供一个PHP和JavaScript SDK,使开发人员可以通过安全方法(私钥公钥)访问API。
我认为我已经或多或少地掌握了如何处理这个问题的整体理解:
- 内置REST服务器处理请求, - 内置API服务器充当请求和REST服务器之间的屏障(验证密钥、权限等等) - 内置JavaScript库,相当于Facebook的“all.js”,它被异步加载到页面中,并可以动态执行API调用,并对API服务器进行验证。
此外,我希望在内部利用API,即通过站点本身上的内部JavaScript文件进行PUT/GET/POST等请求。
我希望使用CodeIgniter作为启动应用程序的基础,因此如果有任何建议的库、技术和方法来处理这个问题,那就太棒了。
具体来说,任何参考资料:
  • 关于应用程序、范围请求、基于角色的权限、会话、日志等的SQL表结构。
  • 如何创建/模板理想的JavaScript库,与Facebook的“all.js”相同。
  • 可以执行公钥-私钥授权的库。

这将非常有帮助。我似乎找不到任何东西。

我知道以下内容:

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

这个模板很适合开发API,但是它没有数据库认证。

非常感谢您的帮助!

3个回答

0
通常情况下,不需要两个级别的API,出于架构和安全原因,您可以将代码分离为Facade和核心逻辑。
至于客户端,我建议基于某些自动生成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/

0

最好的方法是使用您的框架创建常规WEB应用程序 - 这类似于具有最大灵活性的管理面板,无需实现任何其他REST调用。然后,将REST API作为模块(或插件)创建到您的应用程序中,仅包含必要的API调用。

如果您打算将REST API用于客户端和内部目的,那么总有一天您会发现自己被锁在自己的API中。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接