2012-06-20 2 views
1

REST 호출을 작성하고 MyClass 객체 목록이 포함 된 json을 다시 가져오고 싶습니다.인터페이스 목록 및 MIME 미디어 유형 application/json UTF-8이있는 응용 프로그램/json

{ "오류": 사실 나는이 예외 얻을 "자바 클래스를 java.util.List에 대한 메시지 본문 판독기 및 Java 형 인터페이스를 java.util.List 및 MIME 미디어 타입 응용 프로그램을/json; charset = UTF-8이 이 아님 ","type ":"com.sun.jersey.api.client.ClientHandlerException ","stackTrace ":"com.sun.jersey.api.client.ClientHandlerException : A Java 클래스 java.util.List 및 Java 유형 인터페이스 java.util.List 및 MIME 미디어 유형 application/json 용 메시지 본문 판독기 charset = UTF-8을 찾을 수 없습니다. \ n \ tat com.sun.jersey .api.client.ClientResponse.getEntity (ClientResponse.java:550) \ n \ tat com.sun.jersey.api.client.ClientResponse.getEntity (ClientResponse.java:506) \ n \ tat com.sun.jersey.api.client.WebResource.handle (WebResource.java:684) \ n \ tat com.sun.jersey.api.client.WebResource.access $ 200 (WebResource.java:74) \ n \ tat com.sun.jersey.api.client.WebResource $ Builder.get (WebResource.java:507)) \ n \ 문신 .. [더 스택 추적] ..}

코드는 다음과 같습니다

public List<'MyClass> getLIst() 
{ 

ClientConfig config = new DefaultClientConfig(); 
config.getClasses().add(MyObjectMapper.class); 
Client client = Client.create(config); 

WebResource resource = client.resource(HOST_PATH).path(PATH).type(MediaType.APPLICATION_JSON_TYPE).accept(MediaType.APPLICATION_JSON_TYPE); 

return resource.get(List.class); 
} 

@XmlRootElement 
public class MyClass 
{ ... } 

내가 뭔가를 놓친 건가?

답변

7

예, Java에서 유형 삭제로 인해 Jersey는 목록 유형을 볼 수 없습니다. 다음과 같이 당신은 당신의 getList() 메소드의 마지막 줄을 변경해야합니다 :

return resource.get(new GenericType<List<MyClass>>() {}); 

그런 다음 그것을 작동합니다.

+0

감사합니다. – sunny

+0

마지막으로 작동하지 않습니다 ... – sunny

+0

예외가 발생했습니다 : – sunny

관련 문제