0

これは、これまでで最もばかげた質問かもしれませんし、そうでないかもしれません。

レストレットを使用しています。クライアント (私が制御していない) が URL に POST するとき、関数を呼び出すことができます。

representation.getText();

これにより、次のキーと値のペアのリストの例が文字列形式で生成されます。

CallStatus=in-progress&CallerCountry=US&CalledZip=24013&ApiVersion=2008-08-01&CallerCity=ARLINGTON&CalledCity=ROANOKE&CallSegmentGuid=&CalledCountry=US&DialStatus=answered&CallerState=VA&CalledState=VA&CallerZip=22039

Restlet でキーと値のペアのマップとしてこのデータにアクセスするにはどうすればよいですか?

答え:

Form newForm = new Form(getRequest().getEntity());
4

1 に答える 1

3

restlet.orgから引用されたこれらの例をチェックしてください(フォームはマップのようなものです):

Webフォームから値を取得する

Webフォームは、実際にはサーバーに送信されるPOSTリクエストのエンティティであるため、request.getEntity()を介してアクセスできます。すべての入力フィールドのリストを作成できるショートカットがあります。

Form form = request.getEntityAsForm();
for (Parameter parameter : form) {
  System.out.print("parameter " + parameter.getName());
  System.out.println("/" + parameter.getValue());
}

クエリから値を取得する

クエリは、リクエストリソースの識別子(URI)の一部です。したがって、request.getResourceRef()。getQuery()を介してアクセスできます。すべての「key=value」ペアのリストを作成できるショートカットがあります。

Form form = request.getResourceRef().getQueryAsForm();
for (Parameter parameter : form) {
  System.out.print("parameter " + parameter.getName());
  System.out.println("/" + parameter.getValue());
} 
于 2010-10-06T03:48:06.880 に答える