【发布时间】:2020-01-29 12:07:10
【问题描述】:
我的 show 函数在 apiResource 中的路由不起作用,但如果我重载路由并指向该函数,它会按预期工作。
资源路由确实有用
Route::apiResource('/delivery_handler/chat/','CartDeliveryListChatController');
工作路线
Route::get('/delivery_handler/chat/{id?}', function ($id) {
return (new App\Http\Controllers\Api\CartDeliveryListChatController)->show($id);
});
在我的控制器中
/**
* @param $chatId
* @return CartDeliveryListChatResource
*/
public function show($chatId): CartDeliveryListChatResource
{
$data = CartDeliveryListChat::where('id',$chatId)->first();
return new CartDeliveryListChatResource($data);
}
路线列表
| GET|HEAD | api/v1/delivery_handler/chat/{id?} | | Closure | api |
| | GET|HEAD | api/v1/delivery_handler/chat/{} | show | App\Http\Controllers\Api\CartDeliveryListChatController@show | api |
【问题讨论】:
-
我认为这是一个命名空间问题,当您在第一个代码示例中指定命名空间时会发生什么?你有没有看到任何错误。你能具体说明你看到什么不工作