HTTP Request makro akce
Akce slouží pro automatizované volání předkonfigurovaných HTTP requestů s možností ukládání odpovědí do souborů.
Jednoduchá ukázka:
<macro id="m.httprequestexample" name="HTTP Request example" description=""> <inputParam name="url">https://postman-echo.com/post</inputParam> <inputParam name="httpMethod">POST</inputParam> <inputParam name="mimeType">text/plain</inputParam> <inputParam name="data">Data string to be sent</inputParam> <inputParam name="destinationFile">file:${project.path}/generated/storage-internal/output.txt</inputParam> <action name="process" method="module.httpclient:httpRequest"/></macro>Toto makro odešle POST request na URL https://postman-echo.com/post s tělem requestu Data string to be sent a MIME typem text/plain. Tělo odpovědi uloží jako soubor /www/p_prj/.../generated/storage-internal/output.txt.
Specifikace akce
Akce podporuje pouze GET a POST metody a je dostupná pod názvem module.httpclient:httpRequest ze systémového modulu httpclient.
Akce může pouze odesílat requesty a ignorovat odpovědi nebo i ukládat těla odpovědí jako soubory (např.: pro stahování souborů).
Dostupné parametry
Jednotlivé parametry se zadávají pomocí elementu inputParam přímo do makra následovně:
<macro id="m.request" ...> <inputParam name="název parametru">hodnota parametru</inputParam> <inputParam name="název dalšího parametru">hodnota dalšího parametru</inputParam> ...Základní parametry
| Název parametru | Povinný | Popis | Příklad |
|---|---|---|---|
| url | ano | URL adresa endpointu | domain.com/get |
| httpMethod | ne | HTTP metoda requestu. Podporované jsou GET a POST. Výchozí je GET | GET |
| queryParameters | ne | Query parametry, které se připojí na konec URL adresy endpointu. Parametry jsou zadávány jako mapa v jazyce SpEL. | {param1: 'value1', param2: '2'} bude zpracováno jako url?param1=value1¶m2=2 |
| headers | ne | Hlavičky HTTP requestu. Jednotlivé hlavičky jsou zadávány jako mapa v jazyce SpEL. | {'Content-Encoding': 'gzip'} |
Základní autorizace
Parametry autorizace jsou nepovinné a použijí se jen v případě, že jsou oba přítomny. Údaje jsou poté převedeny na hlavičku Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQK.
- username
- password
Tělo HTTP POST requestu
| Název parametru | Povinný | Popis | Příklad |
|---|---|---|---|
| mimeType | ne | MIME typ uvedeného obsahu těla HTTP requestu. Pokud není uveden, žádný se automaticky nenastaví. | text/plain |
| data | ne | Řetězec, který se použije jako tělo HTTP requestu. | jakýkoliv řetězec |
| dataFile | ne | Cesta k souboru jehož obsah bude použit jako tělo HTTP requestu. Řetězec musí být ve formátu podporovaného Springovým ResourceLoaderem a je proto možné použít nejel lokální soubory. | file:/www/prj/example/content-file-to-send.json |
Pokud je specifikován parametr data zároveň s dataFile, dá se přednost dataFile. |
Zpracování odpovědi
| Název parametru | Povinný | Popis | Příklad |
|---|---|---|---|
| destinationFile | ne | Cesta k souboru, do kterého se uloží tělo odpovědi HTTP requestu. Řetězec musí být ve formátu podporovaného Springovým ResourceLoaderem. Pokud soubor neexistuje, automaticky se vytvoří. Zároveň s každou novou odpovědí se přepíše. Pokud není specifikován, odpověď se ignoruje. | file:/ww/prj/example/output.json |
