Le REPOS des clients pour Java?
Avec la JSR 311 et sa mise en oeuvre, nous avons un puissant standard pour exposer des objets Java via REST. Cependant, côté client, il semble y avoir quelque chose qui manque, qui est comparable à Apache Axis pour SAVON - quelque chose qui cache le service web et regroupe les données de manière transparente en arrière pour les objets Java.
Comment voulez-vous créer Java Reposant clients? À l'aide de HTTPConnection et manuel d'analyse du résultat? Ou des clients spécialisés pour, par exemple, Jersey ou Apache CXR?
- Viens de trouver Apache Clin d'oeil dans l'Incubateur Apache. Pourrait être un projet intéressant pour la création de REPOS des serveurs et des clients.
- check this out: igorpolevoy.blogspot.com/2011/01/java-rest-with-ease.html merci igor
- Découvrez [Repos]( code.google.com/p/resting). Il promet d'invoquer des services REST et de créer une liste d'objets à partir de XML/JSON/YAML réponse en une seule étape.
- Repos a des problèmes avec les requêtes POST.
- Vous pouvez le faire d'une manière très simple avec resteasy (par Jboss). J'ai écrit un billet de blog sur comment développer une application Java client REST si vous voulez un guide de mise en route. De toute façon, il y a des centaines de solutions de rechange en Java.
- Si vous êtes intéressant dans le plugin Eclipse pour générer un client java de la classe de WADL, vous pouvez voir le lien stackoverflow.com/questions/9159881/restful-client-from-wadl/...
- veuillez trouver ma solution ici: stackoverflow.com/a/38724942/6668328
Vous devez vous connecter pour publier un commentaire.
C'est une vieille question (2008) il y a donc beaucoup plus d'options aujourd'hui qu'il y a eu ensuite:
mise à JOURcirca 2014:Async-http-client par Sonatype. Ning Async-http-client.Le nouvel enfant sur le bloc qui fournit NIO soutien (même si honnêtement, je ne pense pas que cela améliore vraiment la performance pour les clients comme c'est le cas des serveurs).
Mise à JOUR en 2016:
Une mise en garde sur le choix de HTTP/REST clients. Assurez-vous de vérifier ce que votre cadre de pile pour un client HTTP, comment il fait le filetage, et, idéalement, utiliser le même client si celui-ci offre un. C'est si votre utilisant quelque chose comme Vert.x ou Jouer, vous pouvez essayer d'utiliser son support client à participer à n'importe quel bus ou le réacteur en boucle le cadre fournit... sinon, être préparé pour éventuellement intéressant problèmes de threading.
Comme je l'ai mentionné dans ce fil j'ai tendance à utiliser Jersey qui implémente JAX-RS et est livré avec un agréable REPOS client. La bonne chose est que si vous mettez en œuvre votre Réparateur ressources à l'aide de JAX-RS, puis le Maillot client peut réutiliser l'entité de fournisseurs comme pour JAXB/XML/JSON/Atom et ainsi de suite - de sorte que vous pouvez réutiliser les mêmes objets sur le côté serveur que vous utilisez sur le côté client de test de l'unité.
Par exemple voici un scénario de test unitaire de la Apache Camel projet qui regarde XML charges à partir d'un Réparateur de ressources (à l'aide de la JAXB objet des points de terminaison). La ressource(uri) de la méthode est définie dans cette classe de base qui utilise juste le Maillot de l'API client.
par exemple
BTW j'espère que la future version de JAX-RS ajouter une belle côté client de l'API sur le modèle de celui en Jersey
Vous pouvez utiliser la norme Api Java SE:
Ou vous pouvez utiliser le client REST Api fournies par JAX-RS implémentations telles que Jersey. Ces Api sont plus faciles à utiliser, mais exigent d'autres pots sur votre chemin de classe.
Pour plus d'informations, voir:
Si vous ne souhaitez invoquer un service REST et analyse de la réponse, vous pouvez essayer Rassurez-Vous
Vous pouvez également vérifier Restlet qui a plein de fonctionnalités côté client, plus de REPOS, que de niveau inférieur bibliothèques comme HttpURLConnection ou Client HTTP Apache (qui nous pouvons utiliser que des connecteurs).
Meilleures salutations,
Jérôme Louvel
Vous pouvez essayer de Rapa. Laissez-nous savoir vos commentaires sur le même.
Et n'hésitez pas à consigner des problèmes ou des fonctionnalités attendues.
J'ai récemment essayé Rénovation de la Bibliothèque de la place, Sa grande et vous pouvez appeler votre API rest très facilement.
Annotation en fonction de la configuration nous permet de nous libérer de beaucoup de chaudière plaque de codage.
J'aimerais souligner plus de 2 options:
J'utilise Apache HTTPClient pour gérer tous les HTTP côté des choses.
J'écris XML SAX analyseurs syntaxiques pour le contenu du fichier XML qui parse le XML dans votre modèle d'objet. Je crois que Axis2 expose également XML -> méthodes de Model (Axe 1 cachait cette partie, fâcheusement). XML générateurs sont carrément simple.
Il ne faut pas longtemps pour le code, et est très efficace, à mon avis.
OkHttp est léger et puissant lorsqu'il est combiné avec de Rénovation ainsi. Cela fonctionne bien pour le général de Java à utiliser ainsi que sur Android.
OkHttp: http://square.github.io/okhttp/
Rénovation: http://square.github.io/retrofit/
Essayer
JdkRequest
de jcabi-http (je suis développeur). Voilà comment cela fonctionne:Vérifier ce blog pour plus de détails: http://www.yegor256.com/2014/04/11/jcabi-http-intro.html
Puisque personne ne l'a mentionné, en voici une autre: Feindre, qui est utilisé par Printemps Cloud.
Pour un certain temps maintenant, j'ai été en utilisant Resty:
JSONResource jsonResource = new Resty().json(uri);
On peut trouver quelques exemples ici.
Si simple de créer un client HTTP et de faire un reuest. Mais si vous voulez faire usage de certains auto généré des clients, Vous pouvez faire usage de WADL de décrire et de générer du code.
Vous pouvez utiliser RestDescribe pour générer et compiler WSDL, vous pouvez générer des clients en php, ruby, python, java et C# à l'aide de ce. Il génère un code propre et il y a un bon changement que vous devez l'ajuster un peu après la génération de code, vous pouvez trouver une bonne documentation et de pensées sous-jacentes derrière l'outil ici.
Il y a peu intéressant et utile WADL outils mentionné sur wintermute.
J'ai écrit une bibliothèque de cartes d'une interface java à distance à un service REST JSON:
https://github.com/ggeorgovassilis/spring-rest-invoker
Essayez de regarder les http-repos-client
https://github.com/g00dnatur3/http-rest-client
Voici un exemple simple:
La bibliothèque prend soin de la sérialisation json et de liaison pour vous.
Voici un autre exemple,
Et un dernier exemple,
Cheers!
Des exemples de jersey de Repos client :
L'ajout de la dépendance :
ForGetMethod et en passant deux paramètres :
GetMethod en passant un paramètre et l'Obtention d'un Respone de la Liste :
Au-Dessus d'Elle Retourne une Liste qui nous acceptent comme une Liste et ensuite de le convertir en Json Tableau Tableau Json à la Liste .
Si une Requête Post en passant Objet Json en Paramètre :