2017-09-28 15 views
0

小さな質問を受け取りますが、私はインターネット上で答えを見つけることができません...または私はちょうど検索する場所を知らない。 POJOがByteArrayOutputStream、FlatBuffersまたはその他のライブラリを使用してバイトをシリアル化したRestfulメソッド(Java EE)をクライアントに返す可能性はありますか?クライアントは、jqueryまたはjavascript(私たちのクライアント側)を使用してバイトをPOJOオブジェクトにキャストし直しますか?中ジャージー側のクライアント側では、私はバイト

おかげで(私が今まで見ていた何を、JSON/XMLをバック受信している)、高度な

答えて

1

直接どのように知ることができません(ジャバスクリプトまたはそう)あなたのクライアントとして動作しませんバイトにPOJOを変換しますバイトをPOJOに戻します。あなたができるのはこれです。あなたの応答がobjAであるとします。これを行う。 objAをStringに変換し(おそらくJSON)、Base64でエンコードしてbyte []を取得します。ラッパーオブジェクトobjBの中に入れます。サービスからJSONとしてobjBを返します。あなたのクライアントはバイト[]を取ることができ、バイト[]がbase64であることを知っているので、そこから元の情報を得ることができます。 XML/JSONの代わりにこれを行うことを願いますか?

+0

つまり、ジャージーレスポンスのクライアント(javascript)側でデシリアライズを行う方法は他にありません。その目的は、ジャージー(私たちの機能性)と豆(私たちはレスポンスの形式)を組み合わせることでした。 JSON/XMLからPOJOへの変換を不要にするため。代わりに、POJOを直接受信します。また、このアドバイスを使用しようとしています:https://www.youtube.com/watch?v=IwxIIUypnTE(JSONを送信せず、代わりにバイトを使用します) –

+0

あなたが参照しているPOJOはJavaオブジェクトです。標準のJava IOを使用してシリアル化する場合、どのクライアントにデータを逆シリアル化するかをどのように知っていますか。シリアライゼーションの狂気にはいくつかの方法が必要です。 JSONオブジェクトにラップすることなく、byte []データをクライアントに直接送信することもできます。これらのバイトの特定のエンコーディングがあることを確認してください。 Elseクライアントは、これらのバイトをどうしたらよいか分からないでしょう。 – Gautam

関連する問題