Podporované datové formáty

Na seznam témat a kapitol (obsah)Nadřízená kapitola

SOAP Web Services fungují samozřejmě pouze s formátem XML. V případě REST rozhraní je však podporováno více datových formátů. U všech webových služeb jsou u vstupu i výstupu podporovány tyto formáty (s těmito MIME typy):

  • XML .  text/xml, application/xml, application/*+xml

  • JSON .  */json, */x-json, */javascript, */x-javascript,

  • YAML .  text/yaml

Část webových služeb, jejichž výstup lze principiálně označit za "tabulku" (tj. jedná se o data, která mají charakter maximálně jedné tabulky, tj. neobsahují například vnořené opakující se datové struktury a podobně), umí vracet i data ve následujících formátech. Tyto tabulkové formáty jsou určeny především pro "lidi" (tj. pro případ, kdy uživatel využívá modul WS pro export nějakých dat, na která se pak dívá v Excelu). U těchto formátů NEGARANTUJEME jejich neměnnost v čase. Zároveň je jejich generování na straně serveru neoptimalizováno a spotřebuje násobně více prostředků (čas, paměť, výkon) než výstup do doporučených formátů. Jedná se o formáty:

  • CSV .  text/csv

  • XLSX .  application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

  • XLS (podpora bude zrušena 31.12.2019) .  application/vnd.ms-excel

Formát CSV je ve výchozím případě exportován v kódování "windows-1250". Požadujete-li jiné kódování, přidejte k URL parametr "outputFormatEncoding", jehož hodnota bude název kódování (například "utf-8")

Vstupní formát dat (jsou-li nějaká data jako vstup zasílána, například HTTP metodou POST či PUT) je určen použitím HTTP hlavičky "Content-Type" s hodnotou určující MIME typ vstupního souboru. Očekávaný výstupní formát (či více podporovaných výstupních formátů v pořadí priorit) určuje klient zasláním HTTP hlavičky "Accept", opět s podporovanými MIME typy. Pro zachování části kompatibility s původním "starým" REST rozhraním je i nadále podporována možnost zaslání query parametru s názvem "outputFormat", jehož hodnota může být jedna z hodnot: XML, JSON, CSV, XLS, XLSX, ICS, ICAL, YAML.