2017-12-07 6 views
-1

나는이 있습니다 Map<String, Object> social = new HashMap<String, Object>(); social.put("socialId", socialId); social.put("savedComment", savedComment);ResponseBuilder - Long을 Collection에 캐스트 할 수 없습니까?

을하고 나는이 할 노력하고있어 : 왜 HTTP 상태 (500)를 수신하고 builder = Response.status(Response.Status.OK).entity(social);

을 - java.lang.ClassCastException가 : java.lang.Long의이 자바 캐스트 할 수없는 .util.Collection, Object는 Long 및 일반 Object 클래스에서 작동해야하기 때문에? 두 가지 유형의 데이터를 보낼 수 없으므로 데이터에 data.socialId (Long으로) 및 data.savedComment (객체로)가 포함되어 있습니까?

* socialId는 Long 객체이고 savedComment는 SocialComment 객체입니다.

답변

1

당신이 entity()에 대한 API 문서를 보면, 그 런타임이 전달 될 수 에서 지원, 응답 엔터티

모든 Java 형 인스턴스를 말한다. 일반적인 유형의 보존이 필요한 경우 을 GenericEntity로 래핑하는 것은 호출자의 책임입니다.

응답에 유형을 유지해야하는 경우지도가 GenericEntity을 지원해야합니다.

출처 : https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/Response.ResponseBuilder.html#entity-java.lang.Object-

+0

어떻게 GenericEntity으로 포장 수 있을까? –