L'arrière-plan revient au front-end est .... le champ de début est bloqué

L'arrière-plan revient au front-end est .... le champ de début est bloqué (Java)
arrière-plan :

Comme d'habitude, l'interface de débogage conjointe frontale a reçu des commentaires des collègues frontaux indiquant qu'un certain champ renvoyé par deux interfaces identiques est différent.

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

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

Problème : Le nom de champ reçu par le frontal n'est pas conforme à la définition !!! C'est très étrange. Après avoir vérifié le code sans erreurs, une phrase dans <Alibaba Development Manual> me vient à l'esprit, qui interdit explicitement le type booléen qui a été défini au début de est La méthode de nommage des variables :

[Obligatoire] N'ajoutez pas is aux variables booléennes dans la classe POJO, sinon une partie de l'analyse de la trame entraînera des erreurs de sérialisation.
Contre-exemple : il est défini comme une propriété du type de données de base Boolean isDeleted ;, et sa méthode est également isDeleted(). Lorsque le framework RPC inverse l'analyse, il "pense" que le nom de la propriété correspondante est supprimé, ce qui entraîne la propriété n'étant pas obtenue, puis lançant une exception .

Par conséquent, la normalisation des noms de variables est la meilleure recommandation. Bien sûr, il existe plusieurs façons de résoudre ce problème plus facilement.

1. Ajoutez des annotations de sérialisation.

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

2. Modifiez la méthode get/set correspondant au champ d'entité de départ is.


TERMINÉ À plus tard !

Je suppose que tu aimes

Origine blog.csdn.net/AKALXH/article/details/126118801
conseillé
Classement