Laravel-带参数的 Lumen 获取请求不起作用
Laravel-Lumen get request with parameter doesn't work
我遇到了一个关于 lumen 的奇怪问题,所有 post 和 get 请求都工作正常,但只有带有参数的 get 请求没有出现以下错误
NotFoundHttpException
in RoutesRequests.php line 229
at Application->Laravel\Lumen\Concerns\{closure}(object(Request))
in RoutesRequests.php line 416
这是我的 Web.php
$router->get('/', function () use ($router) {
return $router->app->version();
});
$router->group(['prefix' => 'api'], function () use ($router) {
$router->post('login','UserController@login');
$router->post('signup','UserController@signup');
$router->patch('profile','UserController@update');
$router->post('verfiy','UserController@verfiy');
$router->post('order','OrderController@store');
$router->get('userorders/{$uid}','OrderController@userOrder');
$router->get('locations/{$province}','LocationController@list');
$router->get('offers/{$province}','OfferController@list');
});
这是我的控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Offer;
class OfferController extends Controller
{
public function list($province)
{
$offers = Offer::where('province',$province)
->orderBy('num_orders', 'desc')
->paginate(20);
return response()->json(['status_code'=>1000,'data'=>$offers , 'message'=>null],200);
}
}
如果我从路由和控制器中删除参数,它就可以工作,并且我在同一设备上有另一个 Lumen 项目,它可以很好地处理所有请求!!??
我在 mac 和 apache
任何帮助将不胜感激
您应该像这样定义路线:
$router->get('offers/{province}','OfferController@list');
不喜欢:
$router->get('offers/{$province}','OfferController@list');
注意 {province}
区别。
我遇到了一个关于 lumen 的奇怪问题,所有 post 和 get 请求都工作正常,但只有带有参数的 get 请求没有出现以下错误
NotFoundHttpException
in RoutesRequests.php line 229
at Application->Laravel\Lumen\Concerns\{closure}(object(Request))
in RoutesRequests.php line 416
这是我的 Web.php
$router->get('/', function () use ($router) {
return $router->app->version();
});
$router->group(['prefix' => 'api'], function () use ($router) {
$router->post('login','UserController@login');
$router->post('signup','UserController@signup');
$router->patch('profile','UserController@update');
$router->post('verfiy','UserController@verfiy');
$router->post('order','OrderController@store');
$router->get('userorders/{$uid}','OrderController@userOrder');
$router->get('locations/{$province}','LocationController@list');
$router->get('offers/{$province}','OfferController@list');
});
这是我的控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Offer;
class OfferController extends Controller
{
public function list($province)
{
$offers = Offer::where('province',$province)
->orderBy('num_orders', 'desc')
->paginate(20);
return response()->json(['status_code'=>1000,'data'=>$offers , 'message'=>null],200);
}
}
如果我从路由和控制器中删除参数,它就可以工作,并且我在同一设备上有另一个 Lumen 项目,它可以很好地处理所有请求!!??
我在 mac 和 apache
任何帮助将不胜感激
您应该像这样定义路线:
$router->get('offers/{province}','OfferController@list');
不喜欢:
$router->get('offers/{$province}','OfferController@list');
注意 {province}
区别。