4 votes

utiliser les webservices REST comme source de données pour Lift ?

Est-il possible d'utiliser un webservice (REST dans ce cas) comme source de données pour une application Lift ? Je peux trouver un certain nombre de tutoriels/exemples d'utilisation de Lift pour fournir l'API REST, mais dans mon cas, les données sont hébergées ailleurs et exportées en tant que webservice REST. Des indications sur la documentation seraient grandement appréciées.

Merci, Jeff

2voto

Alexander Azarov Points 6630

Cela n'a rien à voir avec l'ascenseur en fait. Il y a déjà beaucoup d'informations différentes :

  • La bibliothèque HttpClient comme cela a déjà été suggéré,
  • o Envoi Bibliothèque Scala pour l'accès aux services HTTP
  • des informations sur la façon de mettre en cache des données en Scala de différentes manières, au cas où vous en auriez besoin

Réfléchissez bien à la mise en cache, c'est généralement un bon choix si votre application génère beaucoup de requêtes et si vous pouvez vous le permettre. La mise en cache vous permettra d'atteindre de nombreux objectifs :

  1. réduire le temps de réponse, car vous ne dépendez pas du service distant (si vous effectuez un traitement synchrone des données)
  2. éviter le déni de service en cas de défaillance du service distant. Sinon, votre application générera de nombreuses sockets pour lire des données et épuisera les ressources (sockets, threads ou autres).
  3. ne dépassez pas l'accord de niveau de service du service distant, car de nombreux services limitent le nombre de requêtes que vous êtes autorisé à effectuer dans une certaine unité de temps.

Vous pouvez donc vous asseoir et assembler ces éléments, c'est tout.

1voto

Aaron Points 1744

Si vous voulez vraiment faire preuve de fantaisie, vous pouvez créer une implémentation Record pour une source de données basée sur REST. Il en existe déjà une qui fonctionne avec CouchDB. En utilisant le module lift-couchdb, les interactions avec CouchDB sont abstraites et tout ce que vous avez à gérer est le code Scala. Il y a une courte page wiki avec des instructions sur la façon de commencer avec lift-couchdb ici :

http://www.assembla.com/wiki/show/liftweb/CouchDB

Les fichiers de code source pertinents sont disponibles ici :

http://github.com/lift/lift/tree/master/framework/lift-persistence/lift-couchdb/src/main/scala/net/liftweb/couchdb/

L'utilisation de l'interface Record vous donne accès à de nombreux traits que vous utilisez pour fournir des fonctionnalités avec un minimum d'écriture de code, comme la création de formulaires HTML, la fourniture d'appels basés sur le cycle de vie et des crochets faciles pour la validation.

0voto

Pat Points 964

J'ai mis une couche de scala sur HttpClient et l'utiliser. J'ai l'intention de mettre cela sur github depuis un certain temps.

0voto

jozic Points 606

J'utilise Envoi (qui est une enveloppe autour de HttpClient) pour faire des appels REST. Cela a l'air simple et agréable

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X