Question

Mon application est divisée logiquement en serveur, qui contient mes objets de domaine Grails et mes contrôleurs. et client, où j’ai mes classes Ext GWT qui construisent toutes les pages de l’interface utilisateur.

Pour les demandes d'interface utilisateur, j'utilise un appel AJAX vers une méthode de contrôleur qui renvoie, par exemple, une liste d'objets de domaine sous la forme d'une structure JSON.

Suivant le principe DRY, je ne voudrais pas "sérialiser". les données de domaine vers une chaîne JSON sur le serveur, puis le désérialiser sur le client en une autre structure - je souhaite tirer parti de l'objet Domain que j'ai déjà, cela ne me oblige pas à modifier plusieurs emplacements lorsque j'ajoute , modifier ou supprimer un nouveau champ.

La question est: est-ce une bonne façon de faire?

Si tel est le cas, quel serait le meilleur moyen de rendre les objets de domaine .groovy disponibles sur " client-side " Classes Java Ext GWT?

Si non, pourquoi est-ce mauvais et que conseilleriez-vous à la place?

Était-ce utile?

La solution

Il n’existe pas de solution: vous avez besoin d’un objet Java sérialisable GWT. La seule solution réelle que je puisse voir est d'écrire à un plugin (ou d'ajouter au plugin GWT) un moyen de générer automatiquement l'objet de transfert de données, en utilisant éventuellement des annotations dans un objet du domaine Grails.

Une méthode similaire est utilisée pour générer automatiquement les interfaces RPCAsync dans le plug-in gwt - voir GwtGrailsPlugin.groovy dans le répertoire du plug-in gwt, la ligne 133 ou plus est le début.

Vous pouvez vous y accrocher (ou simplement modifier ce fichier directement, probablement plus facilement) et insérer du code pour générer les fichiers de transfert de données. Un avantage supplémentaire pourrait être que vous pourriez affiner l'objet de transfert de données afin que les données privées (telles que les mots de passe!) Ne soient pas transférées.

Autres conseils

Vous pouvez également envoyer vos données au client sous forme de fichier json ou xml. vous pouvez créer une API REST pour votre serveur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top