PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Web Service REST
Web Service REST
Débuté par Bertrand, 10 avr. 2015 16:21 - 5 réponses
Membre enregistré
2 messages
Posté le 10 avril 2015 - 16:21
Bonjour,

En version 20 il est possible d'utiliser des webservices REST. Par contre, je n'ai pas vu comment en créer ?

Est-ce que quelqu'un à de l'information la dessus ?

D'avance merci

Cordialement
Posté le 10 avril 2015 - 16:50
Bonjour Bertrand

un webservice RESt est une simple page web avec ses paramètres dans
l'url ou en post... Ca se développe donc simplement avec une page awp
dans webdev... Il y a un exemple dans wxreplication, vu que j'utilise
cette technique pour la communication entre clients et serveur.

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com


On 4/10/2015 8:21 AM, Bertrand wrote:
Bonjour,

En version 20 il est possible d'utiliser des webservices REST. Par
contre, je n'ai pas vu comment en créer ?

Est-ce que quelqu'un à de l'information la dessus ?

D'avance merci

Cordialement
Membre enregistré
367 messages
Popularité : +17 (17 votes)
Posté le 13 avril 2015 - 08:27
Bonjour
Oui c'est aussi simple que cela, néanmoins, presque tous les langages modernes possèdent la facilité de créer l'url avec la liaison soit à l'objet DTO ou à l'ORM, et les méthodes équivalentes (insert, update, delete...etc)
Donc y a t'il un "wtruc" qui permet à partir d'une méthode, ou d'un membre de générer un service rest?
En Visual Studio c'est très simple.
En Django / Python encore plus....
En WB?
Sinon on peut faire à la main...c'est juste chiant

--
Dominique "QNX" Lecocq
IC Industrie - Binary Activity
Développement enfoui - M2M
Posté le 21 mars 2017 - 10:45
Tu parles certainement de l'URL rewriting qui permet de décomposer l'adresse en ajoutant des composantes fixes (pour le chemin à la ressource) et des composantes qui seront interprétées comme paramètres.

ça fonctionne dans WB20 pour les pages dynamiques générées en mode AWP

Dans WB20, tu trouveras cette option dans l'onglet Page.

par exemple tu peux transformer une page AWP : http://localhost/WB_SITE/page_test.awp

en http://localhost/WB_SITE/TEST/PARAM1/PARAM2.awp

il te suffit de configurer un url rewriting sur la page page_test.awp en ajoutant :

une composante Fixe = TEST
une composante paramètre : PARAM1
une composante paramètre : PARAM2

et dans ta page, tu récupères les valeurs de PARAM1 et PARAM2 avec :

p_P1 is string = NoCharacter(PageParameter("PARAM1"),"/")
p_P2 is string = NoCharacter(PageParameter("PARAM2"),"/")

dans cet exemple, si tu accède à ta page avec : http://localhost/WB_SITE/TEST/HELLO/WORLD.awp

tu auras, dans ton code les valeurs attriubuées aux variables :

p_P1 = "HELLO"
p_P2 = "WORLD"

Note que l'utilisation su slash "/" dans WB20 est reservé à IIS. Si tu utilises un serveur APACHE, ton séparateur de composantes sera le tiret "-", ça donnerait : http://localhost/WB_SITE/TEST-HELLO-WORLD.awp
Membre enregistré
10 messages
Posté le 21 mars 2017 - 10:50
réponse tardive, mais au cas où :

Tu parles certainement de l'URL rewriting qui permet de décomposer l'adresse en ajoutant des composantes fixes (pour le chemin à la ressource) et des composantes qui seront interprétées comme paramètres.

ça fonctionne dans WB20 pour les pages dynamiques générées en mode AWP

Dans WB20, tu trouveras cette option dans l'onglet Page.

par exemple tu peux transformer une page AWP : http://localhost/WB_SITE/page_test.awp

en http://localhost/WB_SITE/TEST/PARAM1/PARAM2.awp

il te suffit de configurer un url rewriting sur la page page_test.awp en ajoutant :

une composante Fixe = TEST
une composante paramètre : PARAM1
une composante paramètre : PARAM2

et dans ta page, tu récupères les valeurs de PARAM1 et PARAM2 avec :

p_P1 is string = NoCharacter(PageParameter("PARAM1"),"/")
p_P2 is string = NoCharacter(PageParameter("PARAM2"),"/")


dans cet exemple, si tu accède à ta page avec : http://localhost/WB_SITE/TEST/HELLO/WORLD.awp

tu auras, dans ton code les valeurs attriubuées aux variables :

p_P1 = "HELLO"
p_P2 = "WORLD"

Note que l'utilisation su slash "/" dans WB20 est reservé à IIS. Si tu utilises un serveur APACHE, ton séparateur de composantes sera le tiret "-", ça donnerait : http://localhost/WB_SITE/TEST-HELLO-WORLD.awp
Message modifié, 21 mars 2017 - 10:51
Membre enregistré
101 messages
Popularité : +7 (7 votes)
Posté le 21 mars 2017 - 11:21
Salut,

Il y a aussi le composant interne WW_AWPREST livré dans plusieurs LST. La première version datant de la lointaine LST 99.
Grâce à un match avec l'URL rewriting, on avait plus qu'à décrire la liaison entre une chaîne représentant une URL et et une procédure et ses paramètres.

Code qui est présenté dans la LST :
RESTEngine.MéthodeEnregistre(GetService,... // Procédure associée
"service/get",... // URL associée
[["name", wlChaîne, Vrai, *, "Nom du service"],... // Paramètres
["date", wlDate, Faux, DateDuJour, "Date à renvoyer"]],...
[httpGet],... // Méthodes HTTP autorisées
"Service",... // Nom du type de retour
"Méthode de lecture d’un service") // Description pour doc. dynamique


Le top en attendant de pouvoir utiliser les services REST avec la version 22... mais ça tarde !

--
@+
Maax°(51)°