Comment appeler des services RESTFUL de GWT?
Je suis en utilisant GWT comme infrastructure de développement web. J'ai besoin d'accéder à certains services REST de mon GWT code client. J'ai aussi besoin de parser JSON (ou peut-être XML) qui est la forme de la réponse de ces services. Qui est le meilleur moyen pour régler ce problème?
Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez appeler des services REST en utilisant le standard de GWT
RequestBuilder
(ouJsonpRequestBuilder
si vous avez besoin de services d'appel sur un autre domaine).Avec la réponse JSON chaîne, vous pouvez appeler
JSONParser.parseStrict(jsonString)
pour obtenir unJSONValue
, qui peut être unJSONObject
,JSONArray
, etc. Tout ceci est disponible dans ce package.Vous pouvez facilement appeler un service web Restful de l'aide RestyGWT dans votre application GWT par la création du service de proxy interface:
ou lorsque vous ne voulez pas passer par la peine de créer des interfaces de service:
Il a aussi eu la bonne API pour l'encodage et le décodage de l'Objet Java en JSON.
Pour le REPOS des services: caisse gwt-repos.
Pour la prise en charge de JSON dans GWT: voir ici
RequestBuilder
est un bas niveau de l'approche pour effectuer des requêtes HTTP.Vous pouvez recourir à une approche de plus haut niveau de travail avec
Turbo GWT HTTP
, une pratique de l'API pour la gestion de la communication client-serveur et de l'exécution des demandes couramment.Il s'intègre mieux le RESTE de style de communication. Considérons l'exemple suivant:
Il n'y a pas besoin de carte de votre REPOS, de services avant de les appeler (qui est conceptuellement nécessaire pour la communication RPC, mais pas pour le RESTE). Vous pouvez seulement de consommer vos services sur demande.
La source ci-dessous de code utilisé RequestBuilder pour poster une demande de Service web RESTFUL en utilisant GWT
Pour ce genre de choses, je trouve plus facile de revenir à l'utilisation de GWT JSNI.
Par exemple, l'Appel d'une JSON service pour obtenir les utilisateurs de code de pays:
Où "Chargé" est juste: