CakePHP:具有多个级别的REST API资源

时间:2012-08-29 03:25:34

标签: api cakephp rest

我正在尝试使用CakePHP创建一个REST API,但我不确定如何处理多个级别的资源。例如,我想创建我的API,以便当客户端向/users/1/friends.json发送get请求时,返回该用户的朋友的JSON表示。接近这个的首选方法是什么?我是否应该根据需要创建友谊控制器和模型并重新路由,或者保留用户控制器中的所有内容?只是想知道这样做的标准方法是什么。

1 个答案:

答案 0 :(得分:0)

如果您希望公开许多功能,例如:创建/更新/删除用户,获取用户,获取所有用户等等,您最终会在控制器中使用大量方法。

我建议使用不同的控制器:

  • a UserController拥有与用户相关的CRUD方法,以及获取所有用户的方法。这意味着该控制器中有5种方法;
  • a FriendController拥有与友谊关系相关的所有方法:获取用户的朋友,但也创建/删除两个用户之间的关系。

我不知道CakePHP,但我写了一些关于Symfony2 REST APIs的内容,我的用例是用户API。您可以选择如何管理用户之间的友谊关系等想法。