Jak na APEX 8: webové služby v APEXu (get, post), příklad použití s Android aplikací

Jak na APEX 8: webové služby v APEXu (get, post), příklad použití s Android aplikací

Oracle APEX má mnoho možností a využití. Jednou z nich, je například hosting webových služeb včetně databáze – a samozřejmě zdarma. V tomto článku vám poradím, jak takovou webovou službu vytvořit a implementovat například do Android aplikace.

Vytvoření webové služby je velmi jednoduché. Pokud již máte v APEXu jakékoliv databázové objekty, tabulky, zkrátka nějaký obsah webových aplikací, tak je webové služby mohou snadno využívat. Včetně všech package a procedur.

S Oracle APEX můžete produkovat jednoduchou GET metodu s výběrem z tabulky, ale také komplikovanější POST službu s autorizací přes časově omezený, generovaný token.

V následujícím příkladu bych Vám rád ukázal, jak vytvořit GET službu, která bude vracet string (datový typ).

Poté, co vytvoříte, můžete pokračovat templatem  —  ty jsou pro jednotlivé konce webové služby.

Založil jsem GET metodu, která bude vracet ‚testovací string‘ a je dostupná na adrese https://apex.oracle.com/pls/apex/apexws/adnroid/getString

Nyní službu zkusím zavolat a uvidíme, co nám vrátí. Je možné použít jakéhokoliv klienta pro webové služby. V našem příkladu jsem použil CocoaRestClient.

Dalším krokem je modifikování query metody. Zde se pokusím vrátit všechna jména zaměstnanců z tabulky, kterou jsme vytvářeli pro apku Zaměstnanci.

Úprava webové služby a volání vypadá po úpravách takto.

To bylo velmi jednoduché. Nyní si ukážeme POST metodu. Pomocí jí se pokusíme změnit jméno některého ze zaměstnanců. Upozorňuji ale dopředu, že u této metody je potřeba znát alespoň základy JavaScript Object Notation neboli JSON a programování. Pokud netušíte o čem mluvím, můžete používat jednodušší metodu GET.

To bylo velmi jednoduché. Nyní si ukážeme POST metodu. Pomocí jí se pokusíme změnit jméno některého ze zaměstnanců. Upozorňuji ale dopředu, že u této metody je potřeba znát alespoň základy JavaScript Object Notation neboli JSON a programování. Pokud netušíte o čem mluvím, můžete používat jednodušší metodu GET.

Postup je stejný jako s metodou GET. Pro parsování (syntaktickou analýzu) JSONu použiji apex_json. V něm potřebuji změnit následující: body (JSON ,který pošlu) z typu BLOB na CLOB. K tomu použiji funkci blob_to_clob, kterou jsme si již ukazovali a naleznete ji zde a spustíte ji jako skript v SQL části apexu.

Postup je stejný jako s metodou GET. Pro parsování (syntaktickou analýzu) JSONu použiji apex_json. V něm potřebuji změnit následující: body (JSON ,který pošlu) z typu BLOB na CLOB.

Pro status a content musíte ještě nastavit parametry dole v tabulce.

]

Parametry by měly být typu URL. Pokud byste použili header služba by nefungovala. Metodu GET jsem upravil, tak aby vracela i ID zaměstnance. Nyní se podívejme jaká mají zaměstnanci jména a pokusme se je novou POST metodou změnit.

Nyní ukážu použití v praxi. Implementuji volání služby do Android aplikace. Výsledek poté zkontroluji v APEX aplikaci, v tabulce zaměstnanci.

Využití v mobilních aplikacích je jen jeden z příkladů. Většina lidí ani netuší, že může zdarma používat webové služby hostované samotným Oraclem – s veškerými funkcemi databáze a webových aplikací a to zcela zdarma.