【问题标题】:Laravel apiResources how to call specific methodLaravel apiResources 如何调用具体方法
【发布时间】:2019-08-16 17:00:45
【问题描述】:

我正在尝试使用 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


    【解决方案1】:

    对于资源,保留showstoreupdateindex 方法。以下是它的工作原理:

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

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

    如果您需要任何自定义路由,则需要在定义 API 资源路由之前定义所需的路由。我希望这有帮助。更多信息见official docs here

    【讨论】:

    • 非常感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    相关资源
    最近更新 更多