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; } }