Laravel apiResources 如何调用具体方法

Sve*_*zar 2 laravel

我正在尝试使用 Laravel apiResource,但显然有一些我无法理解的用法。在简单的路线中,您有类似的东西

    Route::get('user/{id}', 'UserController@show');
Run Code Online (Sandbox Code Playgroud)

其中show是您要调用的方法。

如何指定要在 apiResource 中调用的方法?

目前我有

  Route::apiResources(['user' =>'API\UserController']);
Run Code Online (Sandbox Code Playgroud)

UserController 中调用store方法。我想指定另一个要调用的方法,但例如

 Route::apiResources(['user' =>'API\UserController@show']);
Run Code Online (Sandbox Code Playgroud)

不会调用show方法

那么如何在 apiResources 中指定要调用的方法呢?

Reh*_*mat 5

对于资源,show, store, update,index方法是保留的。这是它的工作原理:

  • GET没有任何ID的路径上呼叫将调用index()方法
  • 一个GET与资源ID的路线上调用会调用show()方法
  • 一个POST路线上的调用会调用store()方法
  • PATCH与ID的路径上的呼叫将调用update()方法

该API资源路径是相同的网络资源的路线不同的是它没有附带返回意见的方法,即create()edit()等等。

如果您需要任何自定义路由,则需要在定义 API 资源路由之前定义所需的路由。我希望这有帮助。此处官方文档中提供了更多信息。