POJO オブジェクトのデシリアライズに関する問題に直面しています。
以下は、サービス側の POJO オブジェクトの構造です。
Class Ball{
int field1;
int field2;
}
Class BaseBall extends Ball
{
int field3;
int field4;
}
Class BallList{
List<Ball> balls;
}
Android クライアント側でも、POJO オブジェクトに同様の構造があります。
Android クライアントのコード:
RestTemplate restTemplate = new RestTemplate();
List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
acceptableMediaTypes.add(new MediaType("application","json"));
HttpHeaders headers = new HttpHeaders();
headers.setAccept(acceptableMediaTypes);
HttpEntity<String> entity = new HttpEntity<String>(headers);
ResponseEntity<BallList> response = restTemplate.exchange(
url, HttpMethod.GET, entity, BallList.class);
if(response.getStatusCode() == HttpStatus.OK)
{
result += "OK";
}
04-13 18:17:46.127: エラー/AndroidRuntime(4359): 原因: org.springframework.web.client.ResourceAccessException: I/O エラー: 認識されないフィールド "filed3" (クラス com.xx.yy.model.ボール)、無視可能としてマークされていません
サービス側では、レスポンスとして野球リストを提供しています。誰でも解決策を教えてください。