2

私は、restlet でさまざまな URL を処理するための、最高の/最もパフォーマンスの高い/最も維持しやすいバージョンを見つけようとしています。

たとえば、Item リソースが必要な場合、これよりも良い方法はありますか?

router.attach("/items", ItemResource.class);
router.attach("/item/{itemid}", ItemResource.class);
router.attach("/items/list", ItemResource.ItemListResource.class);
router.attach("/items/weapons", ItemResource.WeaponListResource.class);
router.attach("/items/armours", ItemResource.ArmourListResource.class);
...

(/items/{itemid} にしてみましたが、/items/weapons などにアクセスできませんでした。)

ItemResource には、単一のアイテムを取得するための @Get がありますが、/items のみが使用されている場合にアイテムを保存するための @Put もあります。ここで何かが少し間違っているように感じます... この場合、アイテムのフェッチ/挿入/更新/リストを作成するためのより良い方法はありますか?

また、この router.attach リストは非常に長く、100 ほどの項目があります。これはすべてのリクエストで実行する必要があるため、おそらくかなり遅くなります。複数のルーターをチェーンに接続できることは知っていますが、これをうまく行う方法に関するドキュメントが見つかりません。ルーターをチェーンして保守しやすくする最善の方法は何ですか?

4

1 に答える 1

1

置くだけ

router.attach("/item/{itemid}", ItemResource.class);

すべてのパスパラメータをキャッチするため、ルーティングの最下部で、すべてに一致する前に、型指定されたパスを最初にルーティングします。これは私の経験に基づいて修正する必要があります。

于 2015-01-13T20:45:55.937 に答える