Laravel 5.7 + dingo/API 2.0 + tymon/jwt-auth 1.0.0-rc.3 问题
laravel 5.7 + dingo/api 2.0 + tymon/jwt-auth 1.0.0-rc.3 写接口,请求接口时发现被请求了两次,
//api 基础类型
class ApiController extends BaseController
{
public $param;//接收的参数
public $perPage;//每页数量
public $imageUrl;
public function construct($request){
parent::construct();
$logger = new Logger('api-access-log');
$filename = env('API_LOG_PATH', '/data/logs/api/') . 'request-' . date('Ymd') . '.log';
$logger->pushHandler(new StreamHandler($filename, Logger::DEBUG));
$logInfo = ['url' => url()->current(), 'request' => request(), 'header' => '','t' => microtime(true)];
$logger->info('', $logInfo);
}
}
//api 控制器
class ExpressCompanyController extends ApiController
{
public function construct(Request $request)
{
parent::construct($request);
}
public function index(){
//TODO
}
}
//路由
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->group([
'prefix' => 'v1',
'namespace' => 'App\Modules\Api\Http\Controllers\v1',
'domain' => config('api.domain'),
'middleware'=> ['cors', 'check.api.parameter']
], function ($api) {
$api->get('/express/lists', 'ExpressCompanyController@index');
});
});
查看日志时发现写了两条,哪位大神知道原因吗?
本作品采用《CC 协议》,转载必须注明作者和本文链接
停掉chrome插件试试
跪求重新编辑,,你这代码全乱了。。 :joy: :joy: :joy:
@idlewater 停了也一样是请求两次,我也是醉了
一次option ?
@yulei745 用ajax请求时是有一次option,但是单单执行api地址也会有两次log
类的执行顺序
你的父类函数被先执行了一次写入日志
然后当前类的
又再一次执行了父类的构造函数 导致再一次写入日志
@66 也就是说并不是接口被请求两次?
@gxcnvip 是的是父类的构造函数 执行了2次
换个浏览器试试
@idlewater 所有浏览器都试过了
@66 那就应该没影响
请求两次是正常的,建议看看CORS