Laravel:未找到APIROURCE路由问题

Laravel:未找到APIROURCE路由问题,laravel,api,http-status-code-404,Laravel,Api,Http Status Code 404,在我的laravel应用程序中,我对路由使用apiResponse。但是,在发出api请求时,我得到了404notfound错误。以下是一个例子: Route::group(['prefix' => 'v1'], function() { /** * Categories */ Route::group([ 'prefix' => 'categories' ], function() { Route::apiResource('/'

在我的laravel应用程序中,我对路由使用
apiResponse
。但是,在发出api请求时,我得到了
404notfound
错误。以下是一个例子:

Route::group(['prefix' => 'v1'], function() {
    /**
     * Categories
     */
    Route::group([ 'prefix' => 'categories' ], function() {
        Route::apiResource('/', 'v1\CategoryController')->except(['destroy', 'show']);

        Route::get('/edit/{category}', 'v1\CategoryController@edit');
        // Route::patch('/{category}', 'v1\CategoryController@update');
        Route::patch('/status/{category}/{status}', 'v1\CategoryController@status');
    });
});

当我通过
patch
方法访问
update
api时,它返回
404notfound

CategoryController.php

...

use Illuminate\Http\Request;

use App\ApiModels\v1\Category;

class CategoryController extends Controller
{
    ...

    public function update(Request $Request, $category)
    {
        # models
        $Category = new Category();

        # accessing methods
        if(($querySubmit = $Category->update($Request->all(), $category))['success'] == false)
        {
            return $this->response([
                'class' => 'alert-danger'
            ], false, $this->parentErrors($querySubmit));
        }

        return $this->response([], true, 'Category has been saved successfully.');
    }

    ...
}
但是,如果我取消注释
更新
路由的
补丁
方法,则它将开始工作。因为它开始使用新路由,完全忽略restful控制器路由

我不想包含额外的代码,特别是对于laravel已经给出的相同功能

如何解决此问题


请帮助,谢谢。

资源
APIROURCE
方法用于资源。您没有传入资源的名称(从技术上讲,这是应该传入资源的名称),也没有传入以资源名称结尾的URI。您可能希望改为这样:

Route::group(['prefix' => 'v1', 'namespace' => 'v1'], function() {
    Route::patch('categories/{category}/{status}', 'CategoryController@status');

    Route::resource('categories', 'CategoryController')
        ->except(['destroy', 'show', 'create']);
});
那么你的路线是:

GET         api/v1/categories                      index
POST        api/v1/categories                      store
GET         api/v1/categories/{category}/edit      edit
PUT/PATCH   api/v1/categories/{category}           update
您想要
编辑
路由这一事实意味着您可能想要使用
资源
而不是
APIROURCE
,而只是排除您不想要的资源