次のような複数行、複数列の応答を返す REST エンドポイントをヒットしようとしています。
A1 B1 C1 A2 B2 C2 A3 B3 C3 ... ...
現在、jersey-client を使用してこのエンドポイントに到達し、この応答を解析する最も適切な方法を探しています。ここでは、各行は Bean を表し、MyBean
その上の各列はその Bean のプロパティを表します。応答の値の順序は常に固定されています。
応答を長い文字列として取得し、それを改行とタブで分割して個々の値を取得できます。
List<String>
ただし、の各要素がList
応答の行を表すとして結果を取得できる方法があるかどうかを知りたいです。次に、それを分割して\t
個々の値を取得できます。
これが私が試したことです:
WebResource resource = client.resource(NETSPEAK_URL)
.type(MediaType.TEXT_PLAIN)
.get(new GenericType<List<String>>(){});
ただし、これにより次の例外が発生します。
A message body reader for Java class java.util.List,
and Java type java.util.List<java.lang.String>,
and MIME media type text/plain; charset=UTF-8 was not found
もっと貪欲であれば、Bean のプロパティにマップされた個々の列の値を取得できるかどうかを知りたいですMyBean
。MyBean
のリストを作成するために の周りにラッパーを作成することを検討しましたMyBean
が、解析を支援するためにどのように注釈を付けますか? これは、xml/json 応答の場合は理にかなっています。しかし、これはプレーンテキストです。
このテキスト/プレーン応答の解析について jersey-client に何らかの方法で伝えることは可能ですか? これが Apache HTTP クライアントを介して達成可能であれば、移行する準備ができています。
ありがとう