You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel路由如何捕获/api/help/后包含查询参数的全部内容

实现方案

原因说明

Laravel 路由在匹配参数时,只会解析 URI 的路径部分,查询参数会被单独拆分到请求对象的查询参数集合中,不会被包含到路由参数$userInput里,所以你现在只能拿到路径段内容。

方案1:控制器内拼接(推荐,无需修改路由)

直接用现有路由参数+请求查询字符串拼接即可,代码如下:

public function __invoke(Request $request, string $userInput)
{
    // 拼接路径和查询参数
    $targetContent = $userInput;
    if ($queryStr = $request->getQueryString()) {
        $targetContent .= '?' . $queryStr;
    }

    // 此时 $targetContent 就是 /api/help/ 之后的完整内容,包含查询参数
    dd($targetContent);
}

方案2:直接从完整URI截取

如果不想依赖路由参数,也可以直接截取完整请求URI得到目标内容:

public function __invoke(Request $request)
{
    // 拿到完整请求路径+查询参数
    $fullUri = $request->getUri();
    // 切掉前缀部分,前缀根据你的实际路由前缀调整
    $prefix = config('app.url') . '/api/help/';
    $targetContent = substr($fullUri, strlen($prefix));

    dd($targetContent);
}

内容的提问来源于stack exchange,提问作者James Stewart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:24:02