Lorsque vous utilisez spring mvc,
Les données json que vous transmettez au front-end (ios/android) sont converties en beans au printemps, n'est-ce pas ?
Donc ces beans sont tous des classes Java définies ?
Parce que je pense que le json requis par le front-end est très flexible. Si le backend est encapsulé avec plusieurs beans volumineux et complets, le front-end obtiendra de nombreux champs inutiles.
(Bien que vous puissiez contrôler la stratégie de sérialisation afin que les champs avec des valeurs nulles ou même des valeurs par défaut n'apparaissent pas dans json, mais de cette façon, les champs sont incomplets et la lisibilité est mauvaise.)
Si vous affinez le bean, vous devez créer trop de beans.
Dans notre projet, nous utilisons essentiellement map pour construire les données requises (principalement parce que nous utilisons jdbctemplate et que les données interrogées sont de type map. Il n'est pas nécessaire de définir des classes de bean. Bien que cela soit très flexible, cela nécessite souvent une écriture manuscrite). le nom de la clé, ce qui est également une chose gênante.
Comment tout le monde l'a-t-il résolu ? N'hésitez pas à me donner vos conseils, merci !
Utilisez directement le contrôleur de Spring WebMVC et ajoutez @ResponseBody pour renvoyer POJO
Dans le passé, Map était utilisé pour combiner des données, mais l'écriture manuscrite des noms de clés est vraiment gênante et facile à commettre des erreurs. C'est ce qu'on appelle la valeur magique et doit être évitée autant que possible. Plus tard, ils sont passés à des beans petits et beaux. Chaque interface correspond à un bean, bien que le nombre soit relativement grand, le couplage est plus lâche que l'établissement d'un bean grand et complet n'affectera pas les autres interfaces, ce qui est toujours acceptable. Je ne sais pas s'il en existe une. Il n'y a pas d'autre solution plus élégante.