Bonjour: J'utilise Jackson pour le traitement JSON pour JSON et que je souhaite servir ces objets comme JSONS à une API externe (repos) (maintenant, ils sont stockés en interne comme des objets Java). P>
La mise en œuvre évidente consisterait à écrire une sorte de moteur de requête qui lit les demandes, récupère des objets à partir du magasin de données sous-jacent, puis les sérialise en Jsons à l'aide de Jackson. P>
Cependant, je commence à comprendre qu'il y a des API qui peuvent déjà être utilisées pour assembler de tels services Web, en prenant soin de nombreux détails mondains (sécurité, analyse de la requête, coordination du repos). Par exemple, il semble que les annotations de Jersey puissent être utilisées pour définir des services de repos .... P>
Donc, ma question est la suivante: quels sont les services Web basés sur l'état de la technique dans les services Web basés sur Java Ee JSON et que ces services utilisent comme magasins de données (c'est-à-dire des services de données d'objet?) p>
Plus important encore ... Quelle est la différence fonctionnelle entre les différentes API pour la cartographie des données XML et JSON I.e. Jersey / Jackson / Jaxb? Strong> P>
3 Réponses :
Il y a un plugin pour Jersey qui prendra vos objets annotés Jaxb et les sérialisera automatiquement comme JSON. Jersey (JAX-RS) est une très bonne offre. P>
Vous pouvez également utiliser des annotations JPA sur les mêmes objets et un fournisseur JPA comme Eclipse Link pour beaucoup de vos besoins en matière de base de données. Une base de données relationnelle de base peut gérer la plupart des besoins du site Web. p>
Merci - Quelle est la différence entre Jersey et Jax B? Je me demande où une API se termine et l'autre commence ....
Jersey est la mise en œuvre de référence de JAX-RS, une norme de services Web. Il vous donne un mécanisme permettant d'envoyer des demandes HTTP à vos classes / méthodes. JAXB est une norme qui vous permet de traduire entre XML et objets. Une partie de la spécification JAX-RS vous permet de renvoyer un objet avec Jaxb Annotations, et si vous avez le type de contenu XML SN, il enverra XML au client en fonction de vos objets JAXB. Il y a un plugin pour Jersey qui prend les mêmes objets annotés Jaxb et produit Json si vous le diriez de retourner JSON.
De plus, vous n'avez pas besoin d'utiliser des annotations JAXB, à moins que vous souhaitiez utiliser JAXB, ou un autre paquet pouvant également les utiliser: Jackson, par exemple, prend en charge ses propres annotations ainsi que Jaxb. Mais si vous suivez simplement la convention de nommage des haricots, vous n'avez généralement pas besoin d'utiliser des annotations JAXB.
Mis à part Jersey (et d'autres jax-rs implique comme Reeaseasy), qui utilisent Jackson, vous pourriez également bénéficier d'utiliser quelque chose comme JDBI pour des données relationnelles contraignantes dans Pojos en premier. Il fait de nombreuses choses plus grandes ormes (comme Hibernate), mais est plus simple à utiliser pour les tâches les plus courantes. P>
ou si vous préférez hibernate, utilisez Module Hibernate Jackson pour gérer certains cas de bord là-bas Peut-être pour lire / écrire des pohos comme Json. P>
Alors ... Le Jersey est-il destiné à mettre en œuvre repos? Ou s'agit-il d'un objet de sérialisation XML?
JAX-RS est un cadre de repos (API Java pour les services Web tels que le repos) et Jersey est l'implémentation de référence JAX-RS. Jersey utilise des cadres de sérialisation comme Jaxb (XML) et Jackson (JSON, BSON, XML, CSV) pour la lecture / écriture réelle du contenu. Vous pouvez donc utiliser le mécanisme de consommation et de production de données, mais Jersey est déjà fourni avec un ensemble utile déjà.
Java avait publié des spécifications appelées JAX-RS pour standardiser le développement de services Web retentissants à l'aide de J2EE. Ces spécifications ne sont que des définitions et non de la mise en œuvre concrète. P>
Il existe divers fournisseurs d'implémentations de ces API (spécifications). Jersey, resease, Restitution, Apache-CXF sont peu de telles implémentations pouvant être utilisées pour mettre en œuvre des services retentissants en Java. P>
Spécifiquement à Jersey, il n'est pas simplement limité à la mise en œuvre des API JAX-RS. C'est un cadre qui possède son propre ensemble d'API construits en étendant les capacités JAX-RS et fournit des capacités supplémentaires pour faciliter davantage le développement des API de repos en Java. P>
Stand de Jaxb pour l'architecture Java pour la liaison XML qui est une autre spécification fournie par Java à Marshall et Memarshall Java Objets à XML et vice versa. Encore une fois, c'est juste la spécification et non la mise en œuvre concrète. P>
Venir à Jackson, il s'agit simplement d'un processeur JSON (typiquement l'une des implémentations de JAXB) utilisées pour Marshall et Minshall Objets de Java à JSON. Jersey utilise Jackson en interne pour convertir des objets Java en Json et vice versa. P>
Jersey a plusieurs implémentations, mais Jackson est utilisé pour "cartographie pojo" qui est la méthode la plus pratique habituellement.