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

關(guān)于webman 控制器和響應(yīng)的一個(gè)疑惑?

Van Chin

設(shè)置如下的路由

<?php

use Webman\Route;
use App\Middleware\Authenticate;

Route::post('/admins/login', [App\Controllers\AdminController::class,'login'])->name('admins.login');

Route::group('',function (){
    Route::post('/admins/logout', [App\Controllers\AdminController::class,'logout'])->name('admins.logout');
    // admins 資源路由
    Route::resource('/admins', App\Controllers\AdminController::class);
})->middleware([
    Authenticate::class
]);

Route::disableDefaultRoute();

通過(guò) php webman route:list 查看路由List

截圖

在訪問(wèn) POST /admins/logout 時(shí) 有很大機(jī)率 response 里的body 為變成 GET /admins 里的數(shù)據(jù)

如果 訪問(wèn)一次 GET /admins 再訪問(wèn) POST /admins/logout 這個(gè)機(jī)率又會(huì)提高

我不知道是 路由的問(wèn)題 還是 response 響應(yīng)的問(wèn)題

POST /admins/logout 返回結(jié)果如下

截圖

正常應(yīng)該返回

截圖

AdminController 部分代碼如下

public function logout(Request $request) {

        $data = [
            'some_key' => 'logout => 的body 數(shù)據(jù)'
        ];

        return $this->rsp($data,'注銷(xiāo)成功!');

    }

public function index(Request $request)
    {
        $builder = $this->model->orderBy('created_at', 'desc');

        $fields = ['id','status','created_at','updated_at'];

        if(count($fields)) {
            $builder->select(...$fields);
        }

        $per_page = $request->filled('per_page') ? $request->input('per_page') : 2;

        $data = $builder->paginate(intval($per_page));

        return  $this->rsp($data);
    }
1708 3 1
3個(gè)回答

Van Chin

我不知道 是我代碼的問(wèn)題 還是 route 或 response 的問(wèn)題

各位幫我分析一下 造成這個(gè)情況的 可能的原因

  • Van Chin 2022-09-10

    通過(guò) requests.route 里面的信息來(lái)看 應(yīng)該可以排除掉路由的問(wèn)題

xiuwang

會(huì)不會(huì)是啟動(dòng)了2個(gè)webman,有時(shí)候請(qǐng)求跑到了另外一個(gè)webman,結(jié)果和預(yù)期不一致?

  • Van Chin 2022-09-10

    沒(méi)有 只啟動(dòng)了一個(gè)webman 我在想是不是 Response 用到上次的數(shù)據(jù)了(長(zhǎng)貯內(nèi)存 或 多processe)只是猜測(cè)的

Van Chin

把設(shè)置 app.controller_reuse 設(shè)置為 false

返回結(jié)果就正常了

@walkor

controller_reuse 復(fù)用開(kāi)啟 是不是在Controller 中引入Trait 也會(huì)復(fù)用?

controller_reuse 是否 開(kāi)啟 對(duì)應(yīng)用的性能影響大么?

  • walkor 2022-09-10

    會(huì)復(fù)用。
    相對(duì)于業(yè)務(wù)來(lái)說(shuō),關(guān)閉復(fù)用對(duì)性能影響可以忽略。

  • Van Chin 2022-09-10

    感謝 老大 回復(fù)
    上述 返回結(jié)果 問(wèn)題 是不是因?yàn)?復(fù)用開(kāi)啟才導(dǎo)致的?能否詳細(xì)說(shuō)明一下

    我現(xiàn)在的理解是第二次請(qǐng)求中 Response 被復(fù)用了 如上次請(qǐng)求 Response 中的xx_key = 1 第二次請(qǐng)求沒(méi)有重置或xx_key ,那么 xx_key 還是會(huì)出現(xiàn)在第二次請(qǐng)求的 Response

  • walkor 2022-09-10

    你的理解正確

  • liziyu 2022-09-10

    控制器use Trait也受 controller_reuse 開(kāi)啟的影響嗎?
    懇請(qǐng)解惑!

  • walkor 2022-09-10

    Trait本身就是代碼片段,Trait本身沒(méi)有影響不影響的說(shuō)法。

  • liziyu 2022-09-11

    謝謝老大,懂了!

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