PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Web Service REST : Persistance des données ?
Web Service REST : Persistance des données ?
Iniciado por ugo, 08,nov. 2018 11:07 - 3 respuestas
Publicado el 08,noviembre 2018 - 11:07
Bonjour

J'ai réalisé un Web Service REST avec WD23 (et facilement, merci WinDev).

Je souhaite maintenant optimiser son fonctionnement en conservant des données en mémoire entre 2 appels à mes fonctions REST. J'ai donc déclaré un tableau associatif (pour retrouver certaines données entre 2 appels) dans le code d'initialisation du projet, en pensant que celui-ci n'était exécuté qu'au premier appel du Web Service. Ce n'est pas le cas, le code d'initialisation est appelé à chaque appel d'une fonction REST du projet :-(

Quelqu'un a-t-il été confronté à cette question, et y a-t-il une solution ?

Merci !
Ugo
Miembro registrado
2.682 mensajes
Publicado el 08,noviembre 2018 - 15:34
Bonjour,

Le principe d'une API Rest est de répondre à une requête. Il te suffit de passer les identifiants à chaque requête et c'est comme si tu les stockais quelque part.

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
1.640 mensajes
Publicado el 08,noviembre 2018 - 15:45
Prblème de conception je pense.
Le REST n'est pas prévu pour çà en effet.

Quel est le besoin, concrètement ? (Pourquoi vouloir conserver des données coté serveur ?)
Publicado el 08,noviembre 2018 - 16:02
Mon service REST concerne un système de calcul en ligne très compliqué. dont les méthodes nécessitent le chargement de multiples données et paramètres. Il serait idiot de tout recharger à chaque fois depuis la base de données.

Pour le moment je sérialise toutes ces informations en binaire dans un fichier que je relis à chaque appel. Mais cela ne me satisfait pas. Je préférerais conserver tout ceci en mémoire, quitte à gérer un sémaphore pour que 2 appels simultanés à mes Web Services ne se collisionnent pas en accédant en même temps à mon tableau associatif.

Merci pour votre avis sur la question.

Ugo