【问题标题】:Dingo API routing does not pass in GET parameters when routing to controllerDingo API 路由在路由到控制器时不传入 GET 参数
【发布时间】:2017-12-14 11:15:12
【问题描述】:

我有一个 Laravel 应用程序,它使用 Dingo 路由器:

 $api->get('/cash-flow', 'App\Http\Controllers\ReportController@cashFlowReport');

当我的前端调用这个 api 时,它会从 OPTIONS & GET 获得 200 个响应。但是,它没有成功传入 GET 变量。

 public function cashFlowReport(Request $request)
{
    $input = $request->all();
    return var_dump($input);
}

响应返回一个空数组。我以为是 Request 类依赖,但我认为它在尝试访问参数时会抛出错误。

我有请求依赖:

use Illuminate\Http\Request;

【问题讨论】:

  • 你在使用 nginx 吗?
  • 是的,我是@lagbox,
  • 您能否提供站点配置文件的location / 块中的try_files 行?
  • 是的,就是这样。我在另一个帖子上看到了。我必须在末尾添加 $variable
  • 是的,这就是我要去的地方......你应该回答我的问题并为自己节省一个小时;)

标签: laravel api dingo-api


【解决方案1】:

如果您使用的是 nginx,您需要确保查询字符串实际上是通过 'rewrite'/'pretty url' 过程。

来自 Pretty Urls 的 Laravel 安装文档:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

?$query_string 部分很重要。

Laravel Docs - Installation - Pretty Urls

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    相关资源
    最近更新 更多