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 не панацея. Определенно, стоит знать его идеи, но вслепую следовать им не стоит.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы