2016-10-12 4 views
0

Google 표준 시간대 API 응답을 사용하려고합니다. 이 오류에 관한 스택 오버플로 모든 대답을 시도했지만 아래의 오류도 약간 변경되지 않습니다저지가 Java 객체에 대한 응답을 매핑하지 않습니다.

public class TimeZoneResponse implements Serializable { 
private long dstOffset; 
private long rawOffset; 
private String status; 
private String timeZoneId; 
private String timeZoneName; 

@JsonProperty("dstOffset") 
public long getDstOffset() { 
    return dstOffset; 
} 

public void setDstOffset(long dstOffset) { 
    this.dstOffset = dstOffset; 
} 

@JsonProperty("rawOffset") 
public long getRawOffset() { 
    return rawOffset; 
} 

public void setRawOffset(long rawOffset) { 
    this.rawOffset = rawOffset; 
} 

@JsonProperty("status") 
public String getStatus() { 
    return status; 
} 

public void setStatus(String status) { 
    this.status = status; 
} 

@JsonProperty("timeZoneId") 
public String getTimeZoneId() { 
    return timeZoneId; 
} 

public void setTimeZoneId(String timeZoneId) { 
    this.timeZoneId = timeZoneId; 
} 

@JsonProperty("timeZoneName") 
public String getTimeZoneName() { 
    return timeZoneName; 
} 

public void setTimeZoneName(String timeZoneName) { 
    this.timeZoneName = timeZoneName; 
} 

@Override 
public String toString() { 
    return "TimeZoneResponse{" + 
      "dstOffset=" + dstOffset + 
      ", rawOffset=" + rawOffset + 
      ", status='" + status + '\'' + 
      ", timeZoneId='" + timeZoneId + '\'' + 
      ", timeZoneName='" + timeZoneName + '\'' + 
      '}'; 
} 
} 

저지 클라이언트 GET 방법은 다음과 같습니다 : 아래

ERROR [ClientResponse]:625 - A message body reader for Java class com.bystored.business.bo.timezone.TimeZoneResponse, and Java type class com.bystored.business.bo.timezone.TimeZoneResponse, and MIME media type application/json; charset=UTF-8 was not found 
2016-10-12 14:39:36 ERROR [ClientResponse]:627 - The registered message body readers compatible with the MIME media type are: 
application/json; charset=UTF-8 -> 
com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$App 
com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$App 
com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$App 
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$App 
com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$App 
*/* -> 
com.sun.jersey.core.impl.provider.entity.FormProvider 
com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider 
com.sun.jersey.core.impl.provider.entity.StringProvider 
com.sun.jersey.core.impl.provider.entity.ByteArrayProvider 
com.sun.jersey.core.impl.provider.entity.FileProvider 
com.sun.jersey.core.impl.provider.entity.InputStreamProvider 
com.sun.jersey.core.impl.provider.entity.DataSourceProvider 
com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General 
com.sun.jersey.core.impl.provider.entity.ReaderProvider 
com.sun.jersey.core.impl.provider.entity.DocumentProvider 
com.sun.jersey.core.impl.provider.entity.SourceProvider$StreamSourceReader 
com.sun.jersey.core.impl.provider.entity.SourceProvider$SAXSourceReader 
com.sun.jersey.core.impl.provider.entity.SourceProvider$DOMSourceReader 
com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General 
com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$General 
com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$General 
com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General 
com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General 
com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$General 
com.sun.jersey.core.impl.provider.entity.EntityHolderReader 
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General 
com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General 
com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy 

내 자바 클래스를 :

public static <T extends Object> T get (String url, Map<String, String> queryParams, Map<String, String> headers, Class<? extends T> type) { 
    Client client = Client.create(); 
    WebResource webResource = client.resource(url); 

    if (queryParams != null) { 
     for (String key : queryParams.keySet()) { 
      webResource = webResource.queryParam(key, queryParams.get(key)); 
     } 
    } 

    WebResource.Builder builder = webResource.getRequestBuilder(); 
    if(headers != null && !headers.isEmpty()) { 
     for(Map.Entry<String, String> entry : headers.entrySet()) { 
      builder = webResource.header(entry.getKey(), entry.getValue()); 
     } 
    } 

    return builder.accept(MediaType.APPLICATION_JSON).get(type); 

} 

나는 pomjersey-serverjersey-bundlejersey-json의 의존성을 가지고있다.

답변

1

그냥 당신은 또한 내가 저지 한 사용 이후 오랜만

ClientConfig config = new DefaultClientConfig(); 
config.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, true); 
Client client = Client.create(config); 

클라이언트를 구성해야합니다, 당신은 서버에 POJOMappingFeature를 구성 좋아, 그래서 위, 다음 작동하지 않는 경우 config.getProperties()을 사용하십시오. 그러나 나는 getFeatures이어야한다고 생각합니다.

+0

나는이' com.sun.jersey.api.json.POJOMappingFeature 사실 '내 web.xml에, 내가 다시이 작업을 수행해야합니까? – MDaniyal

+0

당신은 내가 위에 보여준 클라이언트를 위해 그것을 필요로합니다. 귀하가 직면 한 오류는 클라이언트 오류 –

+0

Google Api가 필요하다는 의미입니까? – MDaniyal

관련 문제