laravel路由转发接口
路由文件
<?php
use App\Http\Controllers\Api;
use App\Repositories\PublicRepository;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::fallback(function (Request $request) {
//未找到路由全部转发
(new PublicRepository())->originApi($request);
});转发逻辑文件
/**
* 接口转发
*/
public function originApi($request)
{
$requestUrl = "https://lfhs.jjszf.com/index.php/merchant/";
// var_dump($request->header());
$header = [
"storeId:" . $request->header()['storeid'][0],
"uniacid:" . $request->header()['uniacid'][0],
"userId:" . $request->header()['userid'][0],
"appType:apk"
];
if ($request->isMethod('post')) {
$url = $requestUrl . substr($request->fullUrl(), strpos($request->fullUrl(), 'index.php') + 10);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($request->input()));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
$result = curl_exec($curl);
curl_close($curl);
// var_dump($result);
// $result = json_decode($result, true);
echo $result;
}
if ($request->isMethod('get')) {
$url = $requestUrl . substr($request->fullUrl(), strpos($request->fullUrl(), 'index.php') + 10);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
$result = curl_exec($curl);
curl_close($curl);
// $result = json_decode($result, true);
echo $result;
}
}