0

Luracast restler のルート キャッシュで問題が発生しました。たとえば、次の 2 つの URL があります。

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

それらは、対応する 2 つのクラスで動作します。

  1. 再販サービス
  2. PreconService

最初の URL に到達すると、最初のクラスのメソッドの情報がキャッシュに表示されます。

次に、2 番目の URL に到達しようとすると、restler がキャッシュを読み取り、そこに最初のクラスのルートのみが見つかるため、404 エラーが発生します (2 番目のクラスに関する情報がないため)。

さらに、最初に(意図的に)間違ったURLにアクセスすると、routes.phpキャッシュは空の配列で保存されます。次に、到達しようとするすべての URL で 404 を取得します。

基本的に、コードで見られるのは、キャッシュ システムがクラスに基づいていないことですが、最初に URL に到達したときに 1 回だけ書き込まれる共通のキャッシュが 1 つあります。アドバイスしてください、それは私が間違っていることですか、それともレスラーの間違った動作ですか?

4

1 に答える 1

1

routes.php新しいクラスを追加したり、API メソッドを変更したりしたため、 を再生成する必要があるようです。単に を削除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);
于 2012-09-07T02:16:01.993 に答える