国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

【已解決】webman路由

開賽靈

如何做到
只設(shè)置一條路由 /api/* 所有生效
例如 /api/user/query

4752 3 3
3個(gè)回答

不敗少龍

能不能把a(bǔ)pi/v1,api/v2弄成自動(dòng)匹配

  • 蔥香小油條 2021-08-20

    根據(jù)https://github.com/walkor/webman/issues/54作者的答復(fù)把v1改成verion,在加點(diǎn)判斷版本,類存不存在啥的,自由發(fā)揮,如下:
    Route::any('/api/{verion}/{controller}/{action}', function($request, $verion, $controller, $action){
    $class_name = "app\api\{$verion}\controller\" . $controller;
    var_export($verion);
    $controller = new $class_name;
    return call_user_func([$controller, $action], $request);
    });

  • 不敗少龍 2021-08-20

    OK 謝謝我去試試

  • yzh52521 2021-08-20

    Route::group('/api',function () {
    Route::group("/{verion}", function () {
    Route::any('/{controller}/{action}', function ($request, $verion, $controller, $action) {
    $class_name = "app\api\{$verion}\controller\" . $controller;
    $controller = new $class_name;
    return call_user_func([$controller, $action], $request);
    });
    });
    });

  • 不敗少龍 2021-08-20

    已經(jīng)寫好了 謝謝

不敗少龍
Route::group('/api/{verion}', function () {
    Route::group("/{controller}", function () {
        Route::any("/{action}", function (Request $request, $verion, $controller, $action) {
            $class_name = 'app\\api\\controller\\' . $verion . '\\' . $controller;
            if(!is_dir( 'app\\api\\controller\\' . $verion)){
                return json(['code'=>500,'msg'=>$verion.'目錄不存在!']);
            }
            if(!class_exists($class_name)){
                return json(['code'=>500,'msg'=>$verion."目錄下的控制器: {$controller}不存在!"]);
            }
            if (!method_exists($class_name, $action)) {
                return json(['code'=>500,'msg'=>$verion."目錄下的控制器: {$controller}里面的方法: {$action}不存在"]);
            }
            $controller = new $class_name;
            $request->controller = $class_name;
            return call_user_func([$controller, $action], $request);
        });
    });
});

本地目錄結(jié)構(gòu)
截圖

年代過于久遠(yuǎn),無法發(fā)表回答
??