2017-12-07 9 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のはJavaにキャストすることはできません.util.Collection、ObjectはLongクラスと一般的なObjectクラスで動作する必要があるため? 2つの異なるタイプのデータを送信することはできません。データに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でどのようにラップできますか? –

関連する問題