Caching Luracast restler--routes.php缓存

Caching Luracast restler--routes.php缓存,caching,restler,Caching,Restler,我遇到了Luracast restler的路由缓存问题。 例如,我有两个URL: /api/service/resale/getmapinfo /api/service/preco/getmapinfo 他们相应地使用两个类: 转售服务 服务前 当我到达第一个url时,缓存中会出现第一个类的方法信息 然后我尝试访问第二个url,然后restler读取缓存并在那里找到第一个类的路由,因此我收到404错误(因为没有关于第二个类的信息) 此外,当我第一次访问不正确的url时,routes.php缓存保

我遇到了Luracast restler的路由缓存问题。 例如,我有两个URL:

  • /api/service/resale/getmapinfo
  • /api/service/preco/getmapinfo
  • 他们相应地使用两个类:

  • 转售服务
  • 服务前
  • 当我到达第一个url时,缓存中会出现第一个类的方法信息

    然后我尝试访问第二个url,然后restler读取缓存并在那里找到第一个类的路由,因此我收到404错误(因为没有关于第二个类的信息)

    此外,当我第一次访问不正确的url时,
    routes.php
    缓存保存为空数组。然后,我在所有我尝试访问的URL上得到404


    基本上,我在代码中看到的是,缓存系统不是基于类的,而是有一个公共缓存,当您第一次访问url时,它只被写入一次。请注意,是我做错了什么,还是这是restler的错误行为?

    看起来您需要重新生成
    路由。php
    由于您添加了新类或修改了api方法,您只需删除
    路由。php
    即可根据最新设置创建新路由

    理想情况下,在开发api的过程中,不要打开
    生产模式

    所以不是

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

    或者,如果您想查看生成的路由,但每次都要覆盖
    routes.php

    $r = new Restler(true,true);
    

    谢谢你的回答。问题是,在添加所有类之后,它仍然只在缓存中存储一个类。复制步骤:1。添加了2个类:预服务和重新服务2。已清除缓存文件。3.浏览了PrecoService的url并获得了正确的结果。缓存中充满了服务类4的方法。浏览了ResalService的url,发现错误。缓存只返回PrecoService类的方法,而不返回ResalService。不应该以这种方式发生。你能帮我们用最少的代码填充一个bug来重现这个问题吗。我们将检查并找到解决方案
    $r = new Restler(true,true);