バックグラウンドはフロントエンドに戻ります...開始フィールドはブロックされています

バックグラウンドはフロントエンドに戻ります... 開始フィールドはブロックされています (Java)
背景 :

いつものように、フロントエンドの共同デバッグ インターフェイスは、フロントエンドの同僚から、2 つの同一のインターフェイスから返される特定のフィールドが異なるというフィードバックを受け取りました。

实体类 :
public class Test{
    
    
	private Boolean isEnable;
}

==============================
前端接收到的数据 : 
{
    
    
	"enable":true
}

問題:フロントエンドが受け取ったフィールド名が定義と矛盾しています!!! 非常に奇妙です. コードにエラーがないことを確認した後、<Alibaba 開発マニュアル> の一文が頭に浮かびました。の冒頭で定義されているのは、変数の命名方法です。

[必須] POJO クラスのブール変数に is を追加しないでください。追加すると、フレーム解析の一部でシリアル化エラーが発生します。
反例:これは、基本データ型 Boolean isDeleted; のプロパティとして定義されており、そのメソッドも isDeleted() です。RPC フレームワークが分析を逆にすると、対応するプロパティ名が削除されたと「考えられ」、その結果、プロパティが取得されず、例外がスローされます。

したがって、変数名を標準化することが最善の推奨事項ですが、もちろん、この問題をより便利に解決する方法はいくつかあります。

1. シリアル化アノテーションを追加します。

@JsonProperty(value = “isEnable”)
pirvate Boolean isEnable;

2. エンティティ フィールドに対応する get/set メソッドを変更して開始します。


OVER またね!

おすすめ

転載: blog.csdn.net/AKALXH/article/details/126118801