5 Schritte zur COVID-19 Web-App (APEX REST Services)
In diesem Blog möchten wir zeigen wie einfach es ist eine APEX App zu erstellen, die anhand von REST Services Daten aus dem Web ausliest. Passend zur aktuellen Situation (COVID-19) erstellen wir eine Beispiel Anwendung, die uns tagesaktuelle Daten anzeigt. Hierzu benötigen wir gerade mal 5 Arbeitsschritte!
- Neue APEX-App erstellen
- Web-Source´s hinzufügen
- Classic Report hinzufügen
- List-of-Value erstellen
- Filter hinzufügen
1. Neue APEX-App
Als erstes erstellen wir eine neue Anwendung in APEX. Hierzu als Workspace-Administrator einloggen und unter Create Application eine neue App erstellen.
2. Web-Source´s hinzufügen
Als Nächstes werden wir die benötigten Web-Sources anlegen. In unserem Beispiel beziehen wir uns auf die API´s von COVID-19. Welche unter anderem zur Verfügung stehen und eine passenden Dokumentation findet Ihr unter folgenden Link: https://covid19api.com/
Wir wollen in unserer Anwendung die Fallzahlen je Land auswerten. Dafür benötigen wir 2 Web-Sources.
- GET COUNTRIES: https://api.covid19api.com/countries
- GET SUMMARY: https://api.covid19api.com/summary
Die API "SUMMARY" liefert uns die aktuellen Zahlen. "COUNTRIES" liefert uns Länderdaten.
Um die API`s in APEX einbinden zu können müssen wir nun unter "Shared Components > Web Source Modules" neue Web-Sources erstellen. Hierzu auf Create klicken und im nächsten Schritt "From Scratch" auswählen.
Dann folgende Einträge eingeben:
- Web Source Type: Simple HTTP
- Name: COVID19 SUMMARY
- URL Endpoint: https://api.covid19api.com/summary
Anschließend Next klicken und den nächsten Schritt ebenfalls mit Next bestätigen.
Da wir für diese API keine Authentication benötigen können wir den darauffolgenden Schritt direkt wieder mit Discover überspringen. Zuletzt wird noch eine Vorschau angezeigt, die wir dann mit Create Web Source final abschließen können.
Das gleiche machen wir anschließend noch mit unserer zweiten API "COUNTRIES".
Hier dann folgende Einträge eingeben:
- Web Source Type: Simple HTTP
- Name: COVID19 COUNTRIES
- URL Endpoint: https://api.covid19api.com/countries
Und alles weitere wie zuvor durchklicken.
Nun ist unser zweiter Schritt erledigt und wir haben die API´s in unserer APEX App eingebunden, so dass wir im nöchsten Schritt darauf zugreifen können.
3. Classic Report erstellen
Jetzt wollen wir die Daten aus den zuvor angelegten Web-Sources in Form von einem Classic Report anzeiegn lassen. Hierzu gehen wir zur Page 1 und fügen dieser einen Classic Report hinzu.
Unter Source wählen wir die Location "Web Source" und Module "COVID19 SUMMARY".
Jetzt können wir bereits die Anwendung ausführen und sehen einen Report mit den Daten aus der COVID-19 API. Als Filtermöglichkeit wollen wir aber noch eine Auswahlliste der Länder zur Verfügung stellen. Hierzu benötigen wir zunächst eine List-of-Value.
4. List-of-Value "Countries" erstellen
Wechselt wieder zu den Shared Components und erstellt unter "List of Values" eine neue LOV mit der Option "From scratch". Diese nennen wir "Countries" und wählen den Type "Dynamic" aus. Im nächsten Schritt wählen wir dann als Data Source "Web Source" und nehmen als Module unsere zuvor angelegte Web Source "COVID19 COUNTIRES".
Als Return Value wählen wir "ISO2" und Display Value "COUNTRY" und klicken dann zum erstellen Create. Jetzt haben wir die LOV erstellt und können im letzten Schritt noch die Select-Liste zur Auswahl eines Landes hinzufügen.
5. Filter hinzufügen
Zuletzt wollen wir für den Classic Report noch einen Filter hinzufügen, worüber wir nach einem Land auswerten können. Hierzu eine "Select-List" auf der Seite 1 hinzufügen. Unter List of Values den Type "Shared Components" und die zuvor erstellte LOV "Countries" auswählen.
Damit die Auswahl den Report filtert benötigen wir jetzt noch eine Where-Clause.
Hierzu unter Local Post Processing folgende Where Clause eintragen:
COUNTRYCODE = :P1_COUNTRY
or :P1_COUNTRY is null
Zuletzt noch unter Settings bei Page Actions on Selection "Submit Page" auswählen, damit der Report nach einer Auswahl automatisch aktualisiert wird.
Fertig ist unsere COVID-19 App in nur 5 Arbeitsschritten :-)
Hier geht es zur Demo-App: COVID-19 Demo
Labels: apex, lowcode, rest services