为啥不能在 Laravel 5.7 中捕获我定义的 Route 请求的文件 URI?
Posted
技术标签:
【中文标题】为啥不能在 Laravel 5.7 中捕获我定义的 Route 请求的文件 URI?【英文标题】:Why don't catch the requested file URI my defined Route in Laravel 5.7?为什么不能在 Laravel 5.7 中捕获我定义的 Route 请求的文件 URI? 【发布时间】:2019-06-01 14:04:42 【问题描述】:我的routes/api.php
文件中有此代码:
Route::group(['middleware' => 'auth:api'], function ()
Route::prefix('photoalbum')->group(function()
Route::prefix('image')->group(function()
Route::post('download/albumId/size/filename',
'PhotoalbumImageController@download');
// ...
);
);
);
Route::fallback('HomeContorller@index');
现在我尝试打开这个网址:
http://myproject.test/api/photoalbum/image/download/1/xs/dog.jpg
...我从HomeController@index
函数中得到结果。其他路线运行良好。
更新
php artisan route:list
获取正确的路线列表,包含以下内容:
| | POST | api/photoalbum/image/download/albumId/size/filename | | App\Http\Controllers\PhotoalbumImageController@download | api,auth:api,auth |
另外:请求的文件不存在。控制器应该是进程和服务它。
为什么不捕获我定义的 Route 的请求并将其发送到 PhotoalbumImageController@download
函数,我该如何解决?
【问题讨论】:
您能否与php artisan route:list
核对并显示显示的内容?
谢谢,我更新了问题。
【参考方案1】:
您定义的路由类型是 POST,并且您正尝试通过 GET 访问它。
将您的路线更改为 Route::get
可以解决您的问题。
【讨论】:
【参考方案2】:请尝试一下,并为路线使用名称,这很有用,并记住调用是 GET、POST、PUT 等。
Route::group(['middleware' => 'auth:api','prefix'=>'photoalbun/image'], function ()
Route::match(['post','get'],'/download/albumId/size/filename','PhotoalbumImageController@download')->name('api.photoalbun.image.download');
);
要查看您可以使用的所有路线
php artisan route:list
【讨论】:
谢谢,但@behnam 的回答解决了这个问题。它被定义为˙post`,但实际上它是一个get
请求。以上是关于为啥不能在 Laravel 5.7 中捕获我定义的 Route 请求的文件 URI?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我得到一个 404 到 laravel 5.7 公共子文件夹?
Laravel 从 5.5 升级到 5.6 到 5.7:未捕获 ReferenceError: axios is not defined