ролями , и вроде как логично выходит /users/1/roles/ так как роль полиморфную связь имеет, и возникает на сколько правильно делать DELETE /users/1/roles/2 ? или логичнее делать DELETE /user-roles/2 - однако тут логичнее передавить идентификатор записи о роли у пользователя , а в первом случае достаточно передать идентификатор роли для конкретного юзера, я запутался чет
если поменять id на что-то другое, а такое бывает, то работает только первый вариант DELETE /users/1/roles/read читал разные статьи по апи и вроде норм nested ресурсы
интересный вариант однако
возможно не понял суть вопроса, но почему бы не сделать DELETE /users/roles/ {"user":1, "role":2} ?
решение очень нравится , но так как есть ресурсный метод с пользователями , хотелось бы логически связать его роли , при том не гадить в routes/api.php и насладиться одной строчкой описывающий ресурсный роут и для ролей сделал так пока: Route::group(['prefix' => 'users'], function () { Route::resource('/{user_id}/roles', 'UserRoleController'); Route::resource('/', 'UserController'); }); });
Могу судить только по своему личному опыту: когда возникает необходимость сделать метод "DeleteUserAndRoles" со сложной логикой, или "DeleteUserOrRole" лучше рассмотреть вариант создания отдельного роута под бизнес кейс, например "Dismissal", "Layoff". Через 6 месяцев бывает сложно восстановить логику, по которой было принято такое архитектурное решение, даже если есть документация )
Тут логика до безобразия проста, исключить роль у определённого юзера, и задача как то больше не бизнесовая, а для удобства управления
Обсуждают сегодня