Maison  >  Questions et réponses  >  le corps du texte

java - Conception de classes dans une architecture microservice et retour reposant des données JSON

Question 1 : Dans l'architecture microservice implémentée par Spring Boot, le problème d'interaction des données entre différents services
Explication

比如在服务架构中两个服务之间的交互,服务A中有一个数据model,
服务B调用后,服务A 将此类型的模型返回给服务B ,
服务B中就必须也定义一个这样的数据模型才能正确的接收数据这样会造成类的多次定义?  

Question 2 : lors de l'utilisation de restful in spring pour renvoyer des données client, le modèle sera converti en json, mais de nombreux attributs sont définis dans l'objet et le client n'a besoin que des valeurs correspondant à certains des attributs, donc comment le renvoyer au client avant de supprimer les attributs inutiles ou sans valeur ?

扔个三星炸死你扔个三星炸死你2675 Il y a quelques jours766

répondre à tous(2)je répondrai

  • 迷茫

    迷茫2017-06-23 09:15:35

    Réponse 1 :
    Les formats de transmission de données couramment utilisés pour la communication RPC sont les formats json, xml ou binaires personnalisés, qui sont généralement convenus à l'avance.
    Comme il s’agit de services différents, ils sont généralement entretenus par des équipes différentes. En outre, la classe de l’objet récepteur analysé n’a pas besoin d’être complètement cohérente avec l’objet de sortie.

    Réponse 2 :
    Une méthode consiste à définir les attributs nécessaires de l'objet de sortie, à convertir votre objet intermédiaire en objet final à sortir et à supprimer les attributs redondants.
    Ou supprimez les attributs redondants lors de la conversion de l'objet en json. Spring fournit l'annotation @JsonIgnore Après avoir ajouté cette annotation aux attributs redondants du bean, l'attribut sera ignoré lors de la conversion de l'objet json.

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-23 09:15:35

    Q1 : Les beans peuvent être définis dans un module indépendant, et le service A et le service B dépendent de ce module.

    Q2 : Ignorez l'annotation json ou utilisez dto pour obtenir uniquement les attributs requis.

    répondre
    0
  • Annulerrépondre