Spring が提供する @ResponseBody
を使用すると、json オブジェクトを返すことができて非常に便利です。
しかし、問題の 1 つは、@ResponseBody
が empty(""
) を返すか null を返すかを判断できない場合があるということです。質問者は大雑把な観察をしました。 Javaの文字列がnull
であっても""
であっても、jsonを通じて返される最終結果は""
であるようですが、オブジェクトの場合はになります。 int型データの場合はnull
、0
が返されます。
上記の結論は正しいでしょうか?
phpcn_u15822017-06-14 10:53:24
1. POJO を返すとき、コード、メッセージ、データを含む JSONResult クラスにカプセル化するなど、ビジネス データをカプセル化できます。データはビジネス データ (つまり、POJO インスタンス)、コードはステータスです。コード、msg は説明です。このように、空の場合はエラー コードを返すだけで、返される結果はインターフェイスの呼び出し元が処理するのに便利な json 形式のデータとして使用できます。 。
2. JSON 形式のデータを直接返します。fastjson または net.sf.json を使用して JSONObject オブジェクトを直接返し、JSONObject オブジェクトにビジネス データを手動または自動で入力します。
伊谢尔伦2017-06-14 10:53:24
Jackon ライブラリを使用する場合、pojo に @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) アノテーションを付けることができます。この場合、特定の属性値が null または "" の場合、シリアル化するときにキーは含まれません。ジェソン