如何将 apiResource 路由和其他路由组合在一起?

问题描述 投票:0回答:2

我正在使用

apiResource
和其他路线。我将它们分组如下:

Route::group(['prefix' => 'posts'], function () {
    Route::group(['prefix' => '/{post}'], function () {
         Route::put('lablabla', [PostController::class, 'lablabla']);
    });
    Route::apiResource('/', PostController::class, [
        'names' => [
            'store' => 'create_post',
            'update' => 'edit_post',
        ]
    ]);
});

除了

index
store
之外的所有 apiResource 路由都不起作用!我该如何对路线进行分组?

php laravel routes grouping
2个回答
2
投票

您的路由语法是错误的,

注释

  1. 您将为 apiResource(复数)提供 uri
  • 例如。路线::apiResource('posts', PostController::class);
  1. 您的资源路由名称错误
  1. 无需重复Route::group,你可以这样写你的路线

     Route::prefix('posts')->group(function () {
         Route::put('lablabla', [PostController::class, 'lablabla']); 
     });
    
     Route::apiResource('posts', PostController::class)->names([
         'store' => 'create_post',
         'update' => 'edit_post',
     ]);
    

1
投票

你的语法不正确,有一个名称方法。请参阅此处的文档https://laravel.com/docs/8.x/controllers#restful-naming-resource-routes

© www.soinside.com 2019 - 2024. All rights reserved.