Как организовать мой API на основе Laravel 5? - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть обычный ресурс 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 После этого я смогу получить этот контакт GET api / users / 12 /contacts / 11 И клиент может создать как можно больше контактов, используя POST api / users / 12 / contacts Но мой пользователь может иметь только один контакт.

На самом деле я могу решить эту проблему, добавив проверку, но я думаю, что этот трюк не решает проблему правильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...