Recevoir le contenu d'une page spécifique

Tags: #<Tag:0x00007f2f2adec0c8>

Bonjour,

Excusez-moi d’avance si cette question a déjà été posée mais je n’arrive pas à trouver de topic similaire.

Jusqu’à maintenant, je faisais une requête GET sur cette url pour récupérer le contenu d’une page spécifique: https://exemple.dev.simplicite.io/ext/KtcPageContent?page=nomDeLaPage

J’aimerais savoir comment je peux faire la même chose mais en utilisant la librairie Simplicité Nodejs. J’ai bien mis mon endpoint à “ext/KtcPageContent” dans les paramètres de la session mais je ne vois pas quelle méthode utiliser pour juste rajouter la query page.

Autre chose, que se passe-il si je ne veux plus utiliser cet endpoint spécifique ? Dois-je recréer une session ?

Merci beaucoup pour votre aide !

Vous avez sur GitHub ne nombreux exemples d’usage de la lib sur npmjs.com (https://www.npmjs.com/package/simplicite) qui est conçue pour interagir avec les objets métier Simplicité.

Mais bon, s’il s’agit juste d’appeler une URL publique d’un objet externe spécifique vous n’avez pas du tout besoin de cette lib, utilisez les appels d’URL standards de la technologie que vous utilisez.

Merci pour votre réponse.

Effectivement, je me suis déjà servis de ces exemples pour interagir avec les objets métier sur d’autres problématiques. Par contre, je ne veux pas utiliser et des appels d’URL standards et la librairie Simplicité pour mes autres cas. J’aimerais standardiser le tout.

Pourriez-vous me donner un exemple avec la librairie pour récupérer le même contenu que si j’utilisais l’URL avec un appel standard svp ?

J’ai essayé d’utiliser getBusinessObject mais cette méthode rajoute “json/obj” à l’endpoint.

Merci

Il n’y a rien actuellement dans la lib npm pour appeler une URL arbitraire (objet externe ou autre). Et clairement les méthodes dédiées à la manipulation des objets métier ne pourront en aucun cas être utilisée pour appeler autre chose que des objets métier (un objet externe n’a strictement rien à voir avec un objet métier).

Qu’est ce que votre objet métier KtcPageContent génère ?

Je pose la question car pour rentrer dans la logique des objets métier vous pouvez faire générer ce contenu non pas par un objet externe mais par une action ou une publication d’un objet métier que vous pourrez alors invoquer via la lib npm. S’il s’agit de contenu statique vous pouvez aussi le stocker dans un attribut HTML d’un objet métier, etc.

Pour info nous venons de publier une nouvelle version de la lib npm (version 1.1.14) avec ce qu’il faut pour appeler un objet externe, ce n’était pas très compliqué et ça enrichit la lib.

Exemple: https://github.com/simplicitesoftware/nodejs-api/blob/master/test/test-external.js

PS: du coup j’ai requalifié votre post en “Feature request”

Bonjour David,

Merci beaucoup c’est exactement ce qu’il me faut ! Par contre, je ne vois toujours pas comment rajouter la query page. Pour répondre à votre question sur ce que génère KtcPageContent, j’obtiens toutes les valeurs possible de la query page (j’obtiens ce résultat en utilisant getExternalObject):
image

J’ai essayé de mettre les paramètres de cette manière:

await this.$simplicite.getExternalObject("KtcPageContent").call({ page: 'root' })

mais ça renvoie exactement la même chose que sans paramètres.

Et de cette manière:

await this.$simplicite.getExternalObject("KtcPageContent?page=root").call()

mais ça me renvoie ce message: External object KtcPageContent%3Fpage%3Droot not granted.

Y a-t-il un moyen de le faire ou cela n’existe pas encore également ?

Comme ça ça devrait marcher mais ce n’est peut être pas le cas, c’est une évolution express d’hier soir…

Je vais vérifier le passage des paramètres

D’accord je comprend, merci pour votre aide. J’attend votre retour.

On est en train de faire l’évolution, on la publie dès que possible

1 Like

La version 1.1.15 de la lib a été poussée, l’interface de la methode call d’ExternalObject a changé avec un attribut en plus pour les data POST vs les params d’URL (ex: en GET)

Cf l’exemple des tests unitaires: https://github.com/simplicitesoftware/nodejs-api/blob/master/test/test-external.js

Ca reste des méthodes expérimentales (donc suceptibles d’evolutions futures non compatibles ascendantes) car la variabilité des cas possibles avec un objet externe est, par contsruction, très large.

Super, ça marche parfaitement. Merci beaucoup pour votre réactivité et votre aide !