私はSpring MVCとMyBatisでJavaを使用してデータベースに接続しています。私は口座テーブルを持っていますが、いくつかのクエリーではすべてのフィールドが必要ですが、他のフィールドではいくつかのプロパティを削除する必要があります。ResponseBodyのJava removeプロパティー
たとえば、MyBatisクエリの後に基本情報を表示するには、いくつかのフィールドがnullで、他のフィールドが偽であるか0であっても、クエリで必要としないためです。
{
"accountName": "Pagosonline.com",
"country": "CO",
"commercialName": "PayU - Latam",
"city": "Chiquinquirá",
"location": null,
"secureName": null,
"description": null,
"document": "8301097231",
"localOperation": false,
"address": null,
"acceptInternationalTransactions": false,
"balance": 0
}
だから、私はこの注釈を使用:
をそして今、私がnull値を持たないこのResponseBody持っている:当初、私は私のResponseBodyでこれを持っていた
{
"accountName": "Pagosonline.com",
"country": "CO",
"commercialName": "PayU - Latam",
"city": "Chiquinquirá",
"document": "8301097231",
"localOperation": false,
"acceptInternationalTransactions": false,
"balance": 0
}
しかしなどをIクエリで最後の3つのフィールドを使用しないで、それらはfalseと0が返されます。私が考えていた代替案は、必要なフィールドだけで別のエンティティモデルを作成することです。しかし、まず、他の解決策があるかどうかを知りたいのであれば、おそらくResponseBodyからこれらのフィールドを削除してください。
予想される応答:
{
"accountName": "Pagosonline.com",
"country": "CO",
"commercialName": "PayU - Latam",
"city": "Chiquinquirá",
"document": "8301097231"
}
この '@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL);'を試して、クラスレベルではなくフィールドでアノテーションを試してみることができますか? 'Include.NON_NULL'の代わりに' Include.NON_EMPTY'を試してください – Lucky