DJZT
@DJZT
Laravel - code for you

Должны ли роуты для REST строиться динамически?

Семантику построения роутов в REST я понимаю. Но не понимаю как правильно организовать их. (Использую laravel)

Например, у меня есть модель пользователя Которая имеет некоторые методы (posts, comments, role)
И соответственно роуты для них

Route::get('users', function(){/** --- */});
Route::get('users/{user}/posts', function(){/** --- */});
Route::get('users/{user}/comments', function(){/** --- */});


Вопрос таков. Должны ли эти роуты строиться автоматически? На подобии одного роута

Route::get('users/{user}/{method}');
и в зависимости от названия метода то и отдавать.

Если так, то что делать с запросом из большого количества сегментов? Или это не правильно?

/users/1/posts/5/comments/34/likes
  • Вопрос задан
  • 195 просмотров
Решения вопроса 1
Flaker
@Flaker
У вас 3 сущности: User, Post, Comment.
REST подразумевает что к каждой из них можно обращаться обособленно от других.
Т.е., у вас будут роуты вида:
/posts
/posts/{id}
/users
...


Если вы делаете Single Page Application, то логично будет подгружать каждую из них по мере надобности (Да, в несколько отдельных запросов)

Но что бы не делать 3 запроса, вы можете подружать их все вместе, указывая что подргужать с помощью get параметров. Например:
/users?with=posts,likes

Свое API вы можете создавать сами и REST не панацея. Определенно, стоит знать его идеи, но вслепую следовать им не стоит.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы