关于 apiResources 资源路由退回的问题
Route::post('users/login','UsersController@login');//用户登录
Route::get('/users/info','UsersController@info');//获取账号信息
Route::apiResources([
'users' => 'UsersController',
]);
使用apiResources定义路由后自动生成
GET /photos photos.index
POST /photos photos.store
GET /photos/{photo} photos.show
PUT/PATCH /photos/{photo} photos.update
DELETE /photos/{photo} photos.destroy
但是现在问题来了。
GET请求 /users/info 访问到的是 获取账号信息。
GET请求 /users/infossss 访问到的是 photos.show。 但是根本就没定义这个路由啊。而且photos.show不是应该是使用user_id的吗??
如何能实现匹配不到定义的路由跳转指定的页面?不能使用fallback(回退路由),因为它是以闭包形式定义的。我想使用route:cache。
关于 LearnKu
应该是请求 /users/infossss 时,把 infossss 传给了 {users},因为路由有绑定模型功能,他会自动查询 user_id,结果查询不到有关 infossss 的模型,才会出现 404,建议定义一个 404 Http异常拦截进行后退跳转
@畅畅 大佬,现在是不会出现404页面呀。访问users/inofsss这个路由相当于直接访问了users/{users}这个路由了
@carveybunt 按路由规则来说,这是对着的呀
@carveybunt 不妨可以尝试一下将 apiResources 资源路由置与前两个路由上面?
@畅畅 额,貌似是我没绑定模型。但是我不能采用隐式绑定模型,不然我无法使用,路由缓存。
如果采用显示绑定的话,还要手动一个一个的去RouteServiceProvider中定义呀?
@carveybunt 隐式绑定和缓存无关奥,并不用将使用闭包在路由文件中写,写在控制器中也是一样的
@畅畅 多谢 我试试。主要的是我使用JWT做的验证。