Jerseyのジェネリック関数を作成しようとしていますが、これはRESTを通じて同じタイプのオブジェクトのリストを取得するために使用できます。しかし、これは動作していないlinkリストとしてのRESTリソースの取得
@Override
public <T> List<T> fetchResourceAsList(String url) {
ClientConfig cc = new DefaultClientConfig();
Client c = Client.create(cc);
if (userName!=null && password!=null) {
c.addFilter(new HTTPBasicAuthFilter(userName, password));
}
WebResource resource = c.resource(url);
return resource.get(new GenericType<List<T>>() {});
}
:私はこのフォーラムで見つかった情報に基づいて、それを。私がそれを実行しようとすると、私は次のエラーが発生します:SEVERE: A message body reader for Java class java.util.List, and Java type java.util.List<T>, and MIME media type application/xml was not found
。
しかし、テンプレートを使わずにこの関数を書くと(実際のクラス名でTを置き換えると)うまくいくだけです。もちろん、このようにして関数は意味を失います。
これを修正する方法はありますか? Unmarshallerのは、それが返されたコンテンツをunmarhallできる前にそこにあるどのようなタイプのオブジェクトを知る必要があり
同様にあなたを助けるかもしれジャージの
リンク http://stackoverflow.com/questions/1603404/using-jaxb-to-unmarshal-marshal-a-liststring – fmucar
@fmucar以下を参照:これは再びとして、サーバーのためのヒントを持っていますそうですか。私は、クライアントのためのジェネリックタイプのサポートが必要です。 – NagyI