restful 路由或者路由分组问题

Route::group([
    'middleware'  =>  ['auth:sanctum']
],  function  ()  {
    // 货物
    Route::resource('cargo', CargoController::class);
    Route::get('/cargo/options', [CargoController::class, 'options']);
});

在采用了restful路由的控制器内添加一个options接口 请求报错

public function options()
{
    dd(1);
}
"message": "No query results for model [App\\Models\\Cargo] options",

我不清楚是因为路由组还是restful API
只要把下边这个路由移出权限路由组就可以正常查询到数据

Route::get('/cargo/options', [CargoController::class, 'options']);

Route::group([
    'middleware'  =>  ['auth:sanctum']
],  function  ()  {
    // 货物
    Route::resource('cargo', CargoController::class);
});
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

路由冲突了,到不了 /cargo/options,被前面的 GET /cargo/{cargo} 劫持了,换个顺序放到前面就好了,和分组没关。

6个月前 评论
肌无力猛男 (楼主) 6个月前
肌无力猛男 (楼主) 6个月前
讨论数量: 5

路由冲突了,到不了 /cargo/options,被前面的 GET /cargo/{cargo} 劫持了,换个顺序放到前面就好了,和分组没关。

6个月前 评论
肌无力猛男 (楼主) 6个月前
肌无力猛男 (楼主) 6个月前
yjrowe

加个where,Route::resource('cargo', CargoController::class)->where(['cargo' => '[0-9]+']);

6个月前 评论
肌无力猛男 (楼主) 6个月前

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