2016-10-23 8 views
0

私は、JavaオブジェクトをHttpURLConnectionを使用してjsonを受け付けるWebサービスに渡します。 com.fasterxml.jacksonを使用してオブジェクトをjson stringに変換し、それを出力ストリームに書き込むと、単純なダミーPOJOでは正常に機能しますが、元々送信しようとしていた複雑なオブジェクトを使用するとアプリケーションが壊れます。 コンソールはStackOverflowのと com.fasterxml.jackson.databindでcom.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:690) でJavaオブジェクトをRESTfulサービスに渡す

の無限の混乱のような例外でいっぱい。 ser.BeanSerializer.serialize(BeanSerializer.java:155)

一般的なソリューションは、クラスにjsonアノテーションを付けたものです。 Webサービス(accepted:content-type)(注釈付きオブジェクトが必要なため、jsonやxml以外のもの)を使用するか、それとも好きですか?

+0

は、構造サービスによって期待されるJSONの構造と一致するオブジェクトを送信:

はここで良い例を持っているドキュメントの記事を参照です。元のオブジェクトがこの構造と一致しない場合は、それに合致するよう注釈を付けることも、構造が一致するオブジェクト、つまりDTOに関連する状態をコピーすることもできます。 –

答えて

0

不要な依存関係を持つPOJOを汚染することなく、mixinアノテーションを使用して、データをシリアル化する方法についてJacksonにヒントを提供できます。 http://wiki.fasterxml.com/JacksonMixInAnnotations

関連する問題