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

Laravel路由自定义问题:如何将路径参数改为查询参数

解决Laravel路由生成查询字符串参数的需求

没问题,要把原来的路径参数改成查询字符串参数其实很简单,只需要调整你的路由定义就行:

$app->get('manufacture','Rest\LkppController@get_manufaktur');

为什么这么改?

原来的路由里把{secretkey}定义成了路径参数,所以它会被解析到URL的路径部分(也就是你之前看到的/manufacture/my-secret-key)。而查询字符串参数不需要在路由规则里声明,只需要保持路由路径为manufacture,Laravel会自动处理URL里的?secretkey=xxx部分。

怎么在控制器里获取这个参数?

在你的get_manufaktur方法里,有两种常用方式获取查询字符串中的secretkey:

  1. 使用request()辅助函数:
public function get_manufaktur()
{
    $secretKey = request('secretkey');
    // 这里写你的业务逻辑
}
  1. 注入Request实例(更推荐,方便测试和依赖注入):
use Illuminate\Http\Request;

public function get_manufaktur(Request $request)
{
    // 方式一:用query方法
    $secretKey = $request->query('secretkey');
    // 方式二:直接访问属性
    $secretKey = $request->secretkey;
    
    // 后续业务逻辑
}

这样修改后,访问https://baseurl/api/manufacture?secretkey=my-secret-key就能正确路由到你的控制器方法,并且顺利拿到secretkey的值啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:15:26