GenericEntityを使用して、putメソッドを使用してジェネリックリストをサーブレットに送信しようとしています。一般的なリストを要求する例をたくさん見ましたが、どれもそれを入れていません。
したがって、私のサーバーのコードは次のとおりです。
@PUT
@Produces(MediaType.TEXT_HTML)
public String doPutHtml(GenericType<List<SystemInfo>> systemInfoList) {
System.out.println(systemInfoList.toString());
return "OK";
}
そして、putリクエストを送信するクライアントのコード:
WebResource ws;
Configuration conf = ConfigurationFactory.getConfigurationFactory()
.getConfiguration();
Client client = Client.create();
ws = client.resource("http://" + conf.getDatacenterURL() + ":"+ conf.getDatacenterPort() + "/services/systemInfo");
GenericEntity entity = new GenericEntity<List<SystemInfo>>(systemInfoList) {};
String response = ws.accept(MediaType.TEXT_HTML).type(MediaType.APPLICATION_XML).put(String.class, entity);
クライアントコードを実行すると、次の例外が発生します。
com.sun.jersey.api.client.ClientHandlerException: com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java type, class java.util.ArrayList, and MIME media type, application/octet-stream, was not found
だから私の質問は、この方法で一般的なリストを送信することは可能ですか?これが不可能な場合、代替手段はありますか?