API 路由中介軟體的詭異

yanyin發表於2019-11-12

Laravel 預設在所有 api 路由中註冊了全域性 throttle 中介軟體,當在自定義 api 路由時加上 throttle 中介軟體,兩個中介軟體會同時對路由有效。
原因是註冊路由時,全域性中介軟體用的是 ’api' 鍵,而自定義中介軟體用的相應的中介軟體名。處理請求時,會解析 ’api' 鍵這個中間組,逐個呼叫中介軟體,然後呼叫自定義中介軟體。定義相同的中介軟體,雖然引數不一樣,但同時都有效。
所以當在 api 路由定義過 throttle 中介軟體,去 Kernel 中註釋全域性的 throttle 中介軟體。當然,其他所有 api 自定義路由沒有預設的全域性 throttle 中介軟體。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章