Laravel 控制器路由在 URI 中带有 _

Posted

技术标签:

【中文标题】Laravel 控制器路由在 URI 中带有 _【英文标题】:Laravel controller routing with _ in the URI 【发布时间】:2014-08-11 03:05:45 【问题描述】:

我基本上必须使用它们的 URI 模式为外部应用程序实现 API 命令。我想在 Controller 中实现所有方法,所以我在 routes.php 中添加了以下内容:

Route::controller('/ch', 'CHController');

我必须实现 GET /ch/api_function/param1/param2。问题是外部 API 的 URI 对其操作使用 '_' 语法,而 laravel 无法将其正确路由到正确的函数。

http://laravel.com/docs/controllers#resource-controllers 建议的控制器 Laravel 文档

如果您的控制器操作包含多个单词,您可以使用 URI 中的“破折号”语法访问该操作。例如,我们的 UserController 上的以下控制器操作将响应 users/admin-profile URI:

公共函数 getAdminProfile()

【问题讨论】:

【参考方案1】:

只需在路由文件中手动定义路由

Route::group(['prefix' => 'ch'], function()

     Route::post('/api_function/param1/param2', ['uses' => 'CHController@function1']);
     Route::post('/another_function/param1', ['uses' => 'CHController@function2']);

【讨论】:

以上是关于Laravel 控制器路由在 URI 中带有 _的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.2 HTTP(高级)路由与创建控制器

Laravel 中带有 URL 参数的路由

URL 中带有斜杠“/”的路由参数

监控系统实践第12天:5天上手Laravel8.5之路由篇(1/5)

路由-第7集

在 Laravel 中添加前缀路由名称而不添加前缀 URI