资源路由的 /photos/create 和 /photos/{photo} 不是会冲突吗?我代码这就冲突了

资源路由的 /photos/create/photos/{photo} 冲突?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6
ruke

和顺序有关吧, 你给后面这个加上正则规则呗

7年前 评论
ibucoin

和顺序有关,create在前,匹配到之后就不会继续了,你也可以给photo制定正则

看文档的路由-正则表达式约束:

Route::get('user/{id}/{name}', function ($id, $name) {
    //
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);
7年前 评论

@ibucoin 资源路由是这么写的,只要一条就能定义多条,如果按get、post什么的再分开写,那就没有资源路由的意义了

Route::resource('photos', 'PhotoController');
7年前 评论

@WilliamQian 回我的,不知道这里为什么没有显示出来。我觉得这样子应该可以

Route::Resource('photos/create', 'PhotoController@create');
Route::Resource('photos', 'PhotoController');
7年前 评论

格式要求严格的放到前边

7年前 评论

/photos/create 和 /photos/{photo} 我记得我在5.4的时候出现这种问题,好像把 【参数】 路由 提到前面吧 ,就好了,你试下

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!