2012-09-06 34 views
0

我遇到了Luracast restler的路由緩存問題。 舉例來說,我有2個網址:Luracast restler - routes.php緩存

  1. /api/service/resale/getmapinfo
  2. /api/service/precon/getmapinfo

他們以2班工作相應:

  1. ResaleService
  2. PreconService

當我到達第一個URL時,然後在緩存中出現第一類方法的信息。

然後我嘗試到達第二個URL,然後restler讀取緩存並找到那裏只有第一類的路由,所以我收到404錯誤(因爲沒有關於第二類的信息)。

此外,當我第一次去不正確的網址(特意)routes.php緩存保存一個空的數組。然後,我嘗試訪問所有網址上的404。

基本上我在代碼中看到的是緩存系統不是基於類,但有一個共同的緩存只寫一次,當你第一次到達一個URL。請指教,這是我做錯了什麼,或者這是一個不正確的restler行爲?

回答

1

看起來你需要重新爲你添加了新的類和或修改API方法routes.php,你可以簡單地刪除routes.php創建基於最新的安裝

理想的新的一個,當你在這個過程中開發API不打開production_mode

所以不是

$r = new Restler(true); //in production mode 

做的

$r = new Restler(); //in debug mode, will generate routes every time 

,或者如果你想看到生成的路線,但保留每一次改寫routes.php

$r = new Restler(true,true); 
+0

謝謝您的回答。 問題是,在添加完所有類之後,它仍然只在緩存中存儲一​​個類。 複製步驟: 1.新增2個類:PreconService和ResaleService 2.清理緩存文件。 3.瀏覽PreconService的網址,得到正確的結果。該緩存填充PreconService類的方法 4.瀏覽ResaleService的URL並出錯。 Cache僅返回PreconService類的方法,而不是ResaleService。 – yuriscom

+0

這不應該發生這種情況。您可以通過使用[GitHub問題](https://github.com/Luracast/Restler/issues)填寫錯誤並用最少的代碼來重現問題來幫助我們。我們將檢查並找到解決方案 – Luracast

相關問題