PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Récupérer les données d'un restRéponse
Récupérer les données d'un restRéponse
Iniciado por Philippe, 31,ago. 2018 08:47 - 3 respuestas
Miembro registrado
42 mensajes
Publicado el 31,agosto 2018 - 08:47
Bonjour,

je suis en train de mettre en place ServiceRest

je bloque sur l'utilisation de restréponse, je n'arrive pas à intégrer le résultat dans un tableau.

Coté serveur web
tabTechnicien est un tableau de MTechnicien
POUR TOUT MonFichierMappé
clTechnicien est un MTechnicien
clTechnicien.FichierVersMemoire()

tabTechnicien.Ajoute(clTechnicien)
FIN

sContenuEnregistrementEnJSON est une chaîne ANSI
Sérialise(tabTechnicien, sContenuEnregistrementEnJSON, psdJSON)
// On retourne directement une chaîne que le serveur d'application va considérer comme la réponse.
RENVOYER sContenuEnregistrementEnJSON


coté windev:

DemandeListeTech est une httpRequête
DemandeListeTech..Méthode=httpGet
DemandeListeTech..URL="http://**************/Technicien"
RéponseListeTech est un restRéponse=RESTEnvoie(DemandeListeTech)
tabMatable est un tableau de Mtechnicien
QUAND EXCEPTIONEXCEPTION DANS
Désérialise(tabMatable,RéponseListeTech.Contenu,psdJSON)
FAIRE
Erreur("Erreur dans la désérialisation")
SINON
FIN

je récupère bien des données RéponseListeTech.contenu est de la forme suivante (un extrait)

[
{
"IDTechnicien":2815312717059981328,
"CodeTechnicien":1,
"NomTechnicien":"Gilles",
"Droit":true,
"Password":"2707",
"HoraireSemaine":40
},
{
"IDTechnicien":2815312717059981329,
"CodeTechnicien":2,
"NomTechnicien":"Fabien",
"Droit":false,
"Password":"1805",
"HoraireSemaine":40
},
{
"IDTechnicien":2815312717059981330,
"CodeTechnicien":3,
"NomTechnicien":"Florian",
"Droit":false,
"Password":"1806",
"HoraireSemaine":35
}
]

le contenu de Tabmatable contient autant de ligne que de technicien mais les informations sont à blanc.





je dois faire une erreur, mais j'aurai besoin d'aide si quelqu'un à une idée je suis preneur.

Merci

Philippe
Miembro registrado
2.682 mensajes
Publicado el 31,agosto 2018 - 09:41
Bonjour,

Les membres s'appellent m_nIdTechnicien et la valeur renvoyée s'appelle IDTechnicien. Il ne peut pas faire le lien entre les deux. Il te faut dans ce cas là parcourir ton résultat et l'affecter manuellement.

Utilise JSONVersVariant() et l'instruction POUR TOUT.

--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
42 mensajes
Publicado el 31,agosto 2018 - 10:00
merci pour le renseignement
j'ai fait au plus simple en modifiant la déclaration de Mtechnicien , copie conforme à celle utilisé par le service rest.

sans modifier le code le résultat est parfait.

Cordialement

Philippe
Publicado el 22,julio 2020 - 16:13
Salut, essaye de rajouter dans la déclaration de ta classe Modèle du fichier Technicien
m_IDTechnicien <MAPPING=IDTechnicien >

L'attribut MAPPING devrait suffire à faire la liaison si les noms des membres ne sont pas identique.

--
Il n'y a pas de mystère en informatique.