【问题标题】:404 not found : laravel api with parameter404 未找到:带有参数的 laravel api
【发布时间】:2021-06-26 02:56:13
【问题描述】:

使用参数调用 Laravel API 得到 404 错误:找不到页面,但是在删除参数时它工作正常。

API.php有如下代码

Route::get('Parties/{aToken}',"CustomerController@apiParties");

控制器具有以下代码

function apiParties(request $request,$token){
    $parties = DB::table('parties')
                ->Where("status","1")
                ->get()
                ->take(20);
    return json_encode($parties);
}

尝试了太多东西,但没有奏效。我在服务器上工作,而不是在本地主机上,所以没有终端。

【问题讨论】:

    标签: php laravel api


    【解决方案1】:

    改变这个

    ->get()->take(20);
    

    ->take(20)->get();
    

    更流利:

    return DB::table('parties')
                ->Where("status","1")
                ->take(20)
                ->toJson();
    

    仅在需要时使用 Request,我看到您并没有真正在此代码范围内使用它。并确保您已正确导入 DB Facade:

    use Illuminate\Support\Facades\DB;
    

    【讨论】:

      【解决方案2】:

      如果您想让参数可选,请在右大括号前添加?

      第二件事是你需要使用Request $request以大写字母开头。

      【讨论】:

        【解决方案3】:

        在 URL 和参数中始终使用小写字母。

        另外,控制器方法中的参数应该是Request而不是request

        【讨论】:

        • 你也在控制器中使用Request,但是类名是request,稍后使用大写的R
        猜你喜欢
        • 2020-10-26
        • 2019-01-20
        • 2021-03-21
        • 2019-10-20
        • 2021-02-27
        • 1970-01-01
        • 1970-01-01
        • 2022-01-14
        • 2020-04-05
        相关资源
        最近更新 更多