Je construis un service Web. Je préférerais plutôt REST / JSON que SOAP. Quelqu'un peut-il me dire quel est le meilleur framework Java EE pour cela? Merci!
Réponses
Trop de publicités?JAX-RS est la Java EE standard pour les services web RESTful. Pour un exemple, consultez mon blog:
- Partie 1 - La Base De Données
- Partie 2 - Entités JPA
- Partie 3 - JAXB Liaisons
- Partie 4 - Le Service RESTFul
- Partie 5 - Le Client
L'exemple montre des messages XML. Si vous voulez seulement les messages JSON changer le MediaType:
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("{id}")
public Customer read(@PathParam("id") long id) {
return entityManager.find(Customer.class, id);
}
À l'appui de deux JSON et XML des messages d'effectuer les opérations suivantes:
@GET
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("{id}")
public Customer read(@PathParam("id") long id) {
return entityManager.find(Customer.class, id);
}
Pour un REPOS cadre, je vous recommande de JAX-RS (c'est une partie de Java EE 6 API, ou vous pouvez l'utiliser sur son propre). Jersey est l'implémentation de référence, mais il en existe d'autres.
Pour JSON de la manipulation, vous avez deux options:
Utilisez le Maillot-JSON extension, avec les annotations JAXB sur vos classes d'entités.
Jackson. La configuration sera un peu plus de travail au début, mais je l'ai trouvé plus facile de traiter avec dans le long terme.
Je suggérerais également de jeter un coup d'œil à Restlet Framework, qui prend en charge JAX-RS mais dispose de beaucoup plus de fonctionnalités grâce à son API Restlet (côté client et côté serveur). Il est également disponible en 5 éditions cohérentes pour Java SE, Java EE, GWT, GAE et Android!
Meilleures salutations,
Jérôme
Restlet ~ Fondateur et responsable technique
Pour une approche différente pour les services web RESTful, jetez un oeil à RESTx. L'accent y est sur des composants réutilisables et la possibilité de créer rapidement de nouveaux services web, simplement en publiant des configurations (ou en remplissant un petit formulaire dans un navigateur) sur un serveur en cours d'exécution.
De cette façon, vous pouvez rapidement créer de nombreuses variations d'un même service. Par exemple, toutes les posté configuration d'un "composant de base de données" pourrait contenir une requête différente. L'utilisateur de l'résultant de service web n'a pas besoin de savoir à propos de la composante sous-jacente et les paramètres spécifiques que vous avez utilisé pour créer le nouveau service web RESTful.
Si vous avez besoin d'écrire vos propres composants, vous pouvez le faire en Java, Python ou JavaScript côté serveur.
Le site a un lien vers une vie de démonstration ainsi.
Jetez un coup d’œil à ReXSL , l’ infrastructure Web basée sur JAX-RS, qui intègre à la fois votre API et votre interface Web.