Ich versuche, die gleichen wie this post zu erreichen, aber ich verstehe nicht, die Antwort gibt und nicht über die Berechtigung zur Klärung in den Kommentaren zu fragen.Return HTML von AWS API-Gateway
Ich habe einen API-Gateway-Endpunkt, der eine GET-Anforderung akzeptiert, geht durch einige Anforderungsvariablen auf die Lambda-Funktion (ausgeführt in Python) und gibt text/html über ein leeres Antwortmodell (wie here beschrieben
Wie in der früheren SO Frage beschrieben, wenn die Lambda-Funktion, um einen HTML-String und der API-Endpunkt verwendet das Standard-Output Pass-Through Verhalten @ Integration Antwort zurückgibt, wird die HTML-Ausgabe zitiert:
"\n<html>\n<body>\n ... \n</body>\n</html>\n"
Diese Antwort (von @ARUNBALAN NV) sagt "Einfach das HTML-Markup in einer Variablen speichern und zurückgeben." , aber ich bin nicht sicher, was das im Zusammenhang mit einer Lambda-Funktion bedeutet. Bedeutet es, eine "application/json" -Antwort mit einem Element namens "variableHTML" zurückzugeben? Etwas wie das?
"{\"variableHTML\": \"\\n<html>\\n<body>\\n ... \\n</body>\\n</html>\\n\"}"
ich festgelegt, dass bis & in API-Gateway jetzt meine Integration Response hat ein Mapping verwendet das Element (200 application/json Antworten) genau wie vorgeschlagen zu extrahieren:
#set($inputRoot = $input.path('$'))
$inputRoot.variableHTML .
Das Ergebnis ist nun ein einzelner Punkt wird zurückgegeben.
Ich habe versucht, viele Variationen ($ input.json anstelle von $ input.path, verschiedene Inhaltstypen in verschiedenen Stadien, etc.), aber fühle mich die obige Einstellung am besten entspricht die angenommene Antwort aus dem anderen Thread.
Einsicht wo ich mit diesem falschen werde wird geschätzt. Danke fürs Lesen!
Vielen Dank, Charles! Funktioniert perfekt. –
Das hat für mich funktioniert. Als Referenz habe ich 'text/html' als Mapping Template-Inhaltstyp verwendet und der letzte HTML-Code-Block hat super funktioniert. –
Vergessen Sie nicht, auf die blaue Schaltfläche und Deploy API zu klicken !! – scottndecker