Hallo Team, zuweilen möchte ich im o.a. Call Code verwenden - leider wird dieser dann aber mit übertragen, was zu einem ungültigen JSON Body führt. Beispiel:
Der zu übertragende Code ist:
{
"stock_quantity":1
}
Sagen wir, die "1" soll aber aus einem Array geholt werden, das vorher in einem TextHtmlWriter erzeugt und im APICall dann referenziert wird, z.B.
<#assign values2 =[]><#assign stocks = "${TEMPLATE_OUTPUT_STRING@TextHTMLWriter_54!}"><#list stocks?split(',') as stocktest><#assign values2 +=[stocktest]></#list><!-- liest eine Reihe von kommagetrennten stocks in ein Array ein -->
<#if !getVariable('a')?has_content>${setVariable('a','0')}</#if><!-- für den ersten Call -->
<#assign c = getVariable('a')?number><!-- liest beim ersten Call den ersten Stocks-Wert aus -->
{
"stock_quantity":${values2[c]}
}
${setVariable('a',getVariable('a')?number +1)}
Danach kommt noch die Abfrage, ob das Array an der neuen Stelle noch einen Wert hat ==> dann wird eine nextUrl definiert, habe ich hier nicht ausgeführt.
Wenn ich diesen Call nun abschicke, läuft er in einen Fehler, weil einige Stellen des Codes Daten erzeugen, die dann den Call versauen; konkret kommt z.B. raus:
[{"code":"rest_invalid_json","message":"Ung\u00fcltiger JSON body \u00fcbergeben.","data":{"status":400,"json_error_code":4,"json_error_message":"Syntax error"}}]
requestBody:
0
{
"stock_quantity":1
}
1
Die Null ist das Ergebnis der Codezeile ${setVariable('a','0')},
die Eins ist Ergebnis von ${setVariable('a',getVariable('a')?number +1)}
Wie kann ich den Code verwenden, aber verhindern, daß er beim eigentlichen Request mitgeschickt wird?
Gruß Micha