質問

Restlet を使用しています。私は以前にそれを使っていませんが、私は2.0を使うことにしましたが、最新かつ最大のテクノロジーから始めるのが良いですね。

私が探している重要なことは、http://mysite/New%20York/3のようなURLを置く能力であり、サービスに[New York,New York,New York]のようなもので応答することができるので、要求属性に渡す必要があります。 Restlet 1.1 ( Restletサイトでは、 のドキュメントを見つけることができないように思われるので、私はそのような私のアプリケーションを配線しました。

router.attach("{text}/{count}", RepeaterResource.class);
.

これを行うための新しい方法は明らかにUniformResource#doInit()メソッドであるので、私のものは(エラーチェックなし):

@Override
public void doInit()
{
    magicText = "" + getRequestAttributes().get("text");
    repeatAmount = Integer.parseInt("" + getRequestAttributes().get("count"));
}
.

問題は、Map<String, Object>から返されたgetRequestAttributes()が常に完全に空です。これはかなり奇妙なようです。私はルーティングを間違って配線していますか?

もちろん、私はgetQuery()を使って自分自身を解析することができましたが、それは間違いなくこれを行うことに行くための間違った方法で、これをやる方法があるようです(以前のバージョンが働いた方法と同様) 。

役に立ちましたか?

解決

私の問題は、ルータの添付ファイルが/文字で始める必要があるということです。私はそのようなように添付されるべきです:

router.attach("/{text}/{count}", RepeaterResource.class);
.

この現象を文書化されていると思われることはできず、それはかなり奇妙なようですが、確かに私の問題を修正しました。

他のヒント

1.0と同じ方法でこれを行うことができます。

チュートリアル、第11章: http://www.restlet.org/ドキュメント/ 2.0 /チュートリアル#Part11

復元は素晴らしい、BTWです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top