如何基于Laravel 5组织我的API?

时间:2018-11-28 09:46:12

标签: php rest laravel-5

我有通常的资源UserController

UserController extends Controller {

   public function index() {  /**... some code */ }

   public function store(Request $request) {  /**... some code */ }

   public function show(User $user) {  /**... some code */ }

   public function update(Request $request, User $user) {  /**... some code */ }

   public function destroy(User $user) {  /**... some code */ }

}

User extends Model {
   protected $fillable = [ 'name', 'email'];
}

我有一个子资源ContactController

ContactController extends Controller {

   public function index(User $user) {  /**... some code */ }

   public function store(Request $request, User $user) {  /**... some code */ }

   public function show(User $user, Contact $contact) {  /**... some code */ }

   public function update(Request $request, User $user, Contact $contact) {  /**... some code */ }

   public function destroy(User $user, Contact $contact) {  /**... some code */ }

}

Contact extends Model {
   protected $fillable = [ 'phones', 'user_id' ];
}

在我的route.php中

Route::apiResource('users', 'UserController');

Route::apiResource('users.contacts', 'ContactController');

就我而言,我只能为用户创建一个思想API。 提出要求

POST api / users / 12 / contacts 之后,我可以获取此联系人 获取api / users / 12 / contacts / 11 客户可以使用 POST api / users / 12 / contacts 来创建尽可能多的联系人。但是我的用户只能有一个联系人。

实际上,我可以通过添加验证来解决此问题,但我认为此技巧无法正确解决问题

0 个答案:

没有答案