php - RESTful trailing slash routes in laravel -
i have next routes in laravel 3 restful api project
route::delete('/(:any)', 'resources@destroy'); route::delete('users/(:any)', 'users@destroy'); the problem having when user sends delete request /users/
what want happen users@destroy route called parameter null. in controller have exception user trying delete null resource.
what seems happening resource@destroy route called parameter users. has undesired impact of deleting users resource.
i know modify .htaccess technically /users/ belong users controller not resources controller. want maintain relationship.
i wondering if there simple way solve within laravel?
edit: have above working reply below. have error in routes
route::get('users/(:any?)', 'users@show'); route::get('users', 'users@index'); /users , /users/ both phone call users@index don't want.
i need /users go users@index , /users/ go users@show null parameter
one point need consider.
routes defined without front-slash. exception default route represented front-slash.
so route::delete('/(:any)', 'resources@destroy') cause undesired result.
moreover, order wrong.
(:any) match user , send request resources controller.
so need is,
change order (make reverse). change route ofresources considering according rules. resources/delete etc..... what want happen users@destroy route called parameter null. in controller have exception user trying delete null resource.
to this, (after making changes above....)
change route of user/(:any) user/(:any?) create 2nd segment optional.
after that, straight forward.
$foo = uri::segment(2, null); //rest follow. edit now, next code,
route::get('users/(:any?)', 'users@show'); route::get('users', 'users@index'); does not create sense.
if type user, router suppose take?
user@show no optional segment or user@index?
routes design removes ambiguity. going in opposite direction making ambiguity.
just create simple route.
like show
user/show delete
user/delete edit
user/edit etc....
the type of routing applying confusing both users , developers carries ambiguity.
php rest laravel
No comments:
Post a Comment