Sto cercando di ottenere la stessa cosa di this post, ma non riesco a capire la risposta e non ho il permesso di chiedere chiarimenti nei commenti.Ritorno HTML dal gateway API AWS
Ho un gateway endpoint API che accetta una richiesta GET, passa attraverso alcune variabili di richiesta alla funzione lambda (implementato in Python), e restituisce text/html tramite un modello di risposta vuota (come descritto here
Come descritto nella domanda precedente SO, se la funzione lambda restituisce una stringa HTML e l'endpoint API utilizza il comportamento predefinito Passthrough uscita @ Integrazione di risposta, l'output HTML è citato:
"\n<html>\n<body>\n ... \n</body>\n</html>\n"
Quella risposta (da @ARUNBALAN NV) dice "Archivia semplicemente il markup HTML in una variabile e restituiscilo." , ma non sono sicuro di cosa ciò significhi nel contesto di una funzione Lambda. Significa restituire una risposta "application/json" con un elemento chiamato "variableHTML"? Qualcosa come questo?
"{\"variableHTML\": \"\\n<html>\\n<body>\\n ... \\n</body>\\n</html>\\n\"}"
ho impostato che fino & nel gateway API mia risposta Integrazione ora utilizza una mappatura per estrarre l'elemento (per 200 applicazioni/risposte JSON) esattamente come suggerito:
#set($inputRoot = $input.path('$'))
$inputRoot.variableHTML .
Il risultato è ora un punto singolo restituito.
Ho provato molte varianti ($ input.json invece di $ input.path, diversi tipi di contenuto in stadi diversi, ecc.), Ma ritengo che la configurazione di cui sopra corrisponda maggiormente alla risposta accettata dall'altro thread.
Qualsiasi comprensione in cui mi sto sbagliando sarà apprezzata. Grazie per aver letto!
Grazie mille, Charles! Funziona perfettamente. –
Questo ha funzionato per me. Come riferimento, ho usato "text/html" come tipo di contenuto del modello di mapping e l'ultimo blocco di codice html ha funzionato alla grande. –
Non dimenticare di fare clic sul pulsante blu e rilascia API !! – scottndecker