我是Laravel
的新人。
routes / api.php我写过这个函数
Route::group(['namespace' => "Catalogue"],function(){
Route::resource('product','Product');
});
我创建了一个资源控制器:
app/Controllers/Catalogue/Product.php
这是我的索引方法:
public function index()
{
$pdo = DB::select('select count(*) from offers');
return $pdo;
}
我试图从url:
获取index方法的结果http://localhost:8000/api/Catalogue/product
然而,这导致404 not found
。
注意:网址http://localhost:8000/api
答案 0 :(得分:1)
你正在打错了uri。
检查http://localhost:8000/api/product
组路由中的命名空间意味着您要将命名空间分配给一组控制器。正如你在这里看到的https://laravel.com/docs/5.4/routing#route-group-namespaces。它与路线无关。
您可以在控制器中查看其他路径。 https://laravel.com/docs/5.4/controllers#controllers-and-namespaces
答案 1 :(得分:1)
根据您的路线,生成的链接为http://localhost:8000/api/product
如果您需要链接为http://localhost:8000/api/Catalogue/product,请将该前缀添加到该组中。
Route::group(['prefix' => 'Catalogue', 'namespace' => 'Catalogue'], function() {
Route::resource('product', 'Product');
});
namespace
仅设置控制器的默认命名空间。 prefix
为组中的所有路由设置路由前缀。