首页 > 解决方案 > Laravel apiResources 如何调用具体方法

问题描述

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

    Route::get('user/{id}', 'UserController@show');

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

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

目前我有

  Route::apiResources(['user' =>'API\UserController']);

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

 Route::apiResources(['user' =>'API\UserController@show']);

不会调用show方法

那么如何指定在 apiResources 中调用哪个方法呢?

标签: laravel

解决方案


对于资源,保留show, store, update,index方法。以下是它的工作方式:

  • GET没有任何 ID 的路由上调用将调用该index()方法
  • 对具有资源 ID 的路由的GET调用将调用该show()方法
  • 路由上的POST调用将调用store()方法
  • PATCH对带有 ID 的路由的调用将调用该update()方法

API 资源路由与 Web 资源路由相同,只是它不附带返回视图的方法,即 iecreate()edit()

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


推荐阅读