基于关系数据库构建RESTful API


Building a RESTful API based on a relational database

我正在尝试构建一个RESTful API。我了解RESTful API是如何工作的,我已经为我的API开发了一个很好的数据库结构和模型,以及用于检测请求类型和单独遍历每个"节点"的代码。

<标题> API模型
Collection      Resource               Table

associations    associations/AID       Associations
Users           Users/UID              Users
groups          groups/GID             Groups
events          events/EID             Events 
UID/events      UID/events/EID         Events_Map
UID/groups      UID/groups/GID         Group_Map 
GID/events      GID/events/EID         Group_Events
AID/events      GID/events/EID         Association_Events

的关系
  • association -> groups

  • association -> users

  • association -> events

  • user -> groups

  • user -> events

  • group -> users

  • group -> events

我有麻烦编写php代码转换数据库资源到api资源。我已经阅读了很多关于编写REST API的在线教程,但是没有一个涉及如何处理嵌套数据。我很想在这个项目中使用一个框架,但这是为了学校。


在总结中,我如何编写代码来处理复杂的api请求和生成必要的数据库查询,即使它们包含高级函数,如join

我没有试图解释我的大脑在这一点上,我发现Apigee的博客是最好的资源构建api是开发人员友好的。我已经用Apigee的策略构建了3个api,这些api被成千上万的电子商务网站所依赖,开发者的反馈非常好,因为我被告知它非常直观。在很大程度上归功于Apigee。

http://blog.apigee.com/detail/slides_for_restful_api_design_second_edition_webinar

示例:当我需要使用UID查找用户时,UID被传递给一个存储过程,该存储过程根据该UID选择用户。

对于我的REST API,我创建了作为API和数据库调用之间的中介的对象

还有,看看这个问题