私はSpringブート1.3.3を使用しており、JSONオブジェクトをMongo DBコレクションに追加するためのRESTコントローラを作成しました。SpringブートJSONシリアル化
JSONオブジェクトから追加されるデータは、要求から受け取った情報のサブセットになります。だから、私はJSONリクエストオブジェクト(DTO)とエンティティオブジェクト(モデル)をMongoコレクションに格納するために作成しました。
リクエストメッセージの一部として入力されていなくても、JSONリクエストオブジェクトにはinteger(0)およびブールデータ型(false)のデフォルト値が設定されているため、問題に直面しています。私はこれらの値をデータベースに保存したくありません。
私のapplication.propertiesファイルに "spring.jackson.serialization-inclusion = non-null"と "spring.jackson.serialization-inclusion = non-default"プロパティを追加しましたが、フィールドにはデフォルト値が設定されています。
誰でもこの問題を解決し、デフォルト値をバイパスするのを手伝ってください。注:作成されていない場合、デフォルトではNULL値になるため、Stringデータ型の場合は正常に動作します。プリミティブ属性はたとえば0のデフォルト値はint型のデフォルト値は、この値ではなく、整数を使用することを避けるために...属性である必要がありながら、事前に
おかげ
こんにちはすべて、プリミティブデータ型を対応するラッパークラスに変更することで問題は解決しました。 (例:booleanからBooleanへ、intからIntegerへ)。 – user3537498