Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Définir dynamiquement le Body HTTP pour un tREST
    Bonjour,

    Je débute dans l'utilisation de l'outil Talend.
    J'ai besoin d'appeler une API REST (post) avec un body ( champ "Corps HTTP" ) à construire à la volée à partir d'une source (fichier json ou bdd SQL server).
    (J'utilise un composant tREST en méthode POST)

    J'ai les infos en SQL (par exemple)


    [TH]ID[/TH]
    [TH]Nom[/TH]
    1 Pierre
    2 Paul
    3 Jean

    et mon body à construire doit être de la forme

    Code JSON :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    [
        {
            "ID" : "1",
            "Nom" : "Pierre"
        }
        {
            "ID" : "2",
            "Nom" : "Paul"
        }
        {
            "ID" : "3",
            "Nom" : "Jean"
        }
    ]


    Y-a-t-il une façon simple de faire cela?

    J'ai pensé utiliser une variable de context, mais je ne sais pas comment construire et affecter la chaine de caractères nécessaire.


    Merci d'avance,

  2. #2
    Membre expérimenté
    Un truc comme ça

    t...Input -> tWriteJsonRow -> tRest



    Il faut peux être ajouter un composant entre le ton Input et le tWriteJsonRow pour regrouper toutes les lignes entre elle. Le but est d'ajouter une colonne avec une valeur constante. Comme ça sur ton tJsonRow tu peux toutes les regroupés en 1

    Ton HTTP body étant une chaine de caractère dans Talend, tu doit pouvoir faire un truc du genre rowX.sortieDeTonWriteJsonRow
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

###raw>template_hook.ano_emploi###