我遇到了Luracast restler的路由缓存问题。 例如,我有2个网址:
/api/service/resale/getmapinfo
/api/service/precon/getmapinfo
他们相应地使用2个类:
当我到达第一个网址时,然后在缓存中显示第一个类的方法信息。
然后我尝试到达第二个url,然后restler读取缓存并发现只有第一个类的路由,所以我收到404错误(因为没有关于第二个类的信息)。
此外,当我第一次使用不正确的url(目的)时,routes.php
缓存将保存为空数组。然后我在我尝试到达的所有网址上获得404.
基本上我在代码中看到的是缓存系统不是基于类,而是有一个只写一次的公共缓存,第一次到达url时。请建议,这是我做错了什么或这是一个不正确的restler行为?
答案 0 :(得分:1)
看起来您需要重新生成routes.php
,因为您添加了新类和/或修改了api方法,您只需删除routes.php
即可根据最新设置创建新的<{p}}
理想情况下,当您正在开发api时,请不要打开production_mode
所以而不是
$r = new Restler(true); //in production mode
DO
$r = new Restler(); //in debug mode, will generate routes every time
或者如果您想查看生成的路线,但每次都要覆盖routes.php
$r = new Restler(true,true);