Beispiele rest json: Unterschied zwischen den Versionen

Aus bafbal.de
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Daten von einem REST-Server holen, anzeigen und bearbeiten= ==Der REST-Server== Unter https://api.predic8.de/shop/products/ ist ein REST-Server zu finden, d…“)
 
Zeile 57: Zeile 57:
  
 
==Daten von mehreren Seiten zusammenfassen==
 
==Daten von mehreren Seiten zusammenfassen==
 +
 +
Die Daten sind auf mehrere Seiten aufgeteilt. Für unsere Zwecke müssen wir sie zusammenfassen. Dazu eignet sich die Prozedur #http_loop_json.
 +
 +
In solchen Fällen hat es sich bewährt, das erst mal als Konsolen-Anwendung zu realisieren, und das dann in die konkrete Anwendung zu kopieren. Diese Konsolen-Anwendung würde wie folgt aussehen:
 +
 +
#frm  c="c_test_json"  y=console
 +
 +
#code  url=https://api.predic8.de/shop/products/
 +
#code  nurl="https://api.predic8.de/shop/products/$STREXTR($JSON_VALUE(1,meta.next_url),ffe,/shop/products/)"
 +
#code  ready=$EMPTY($JSON_VALUE(1,meta.next_url))
 +
#http_loop_json  y=get    se=N  $CODE$  isc=Y  m=20
 +
 +
#coutl $JSON_TEXT(1,frm)
 +
 +
#cout  c="c_test_json executed"
 +
 +
Die Prozedur #http_loop_json verwendet y=get als Method, wir wollen schließlich Daten abfragen. Als url verwenden wir die Seite https://api.predic8.de/shop/products/.

Version vom 31. Dezember 2022, 11:16 Uhr

Daten von einem REST-Server holen, anzeigen und bearbeiten

Der REST-Server

Unter https://api.predic8.de/shop/products/ ist ein REST-Server zu finden, der als Beispiel-Server der Allgemeinheit zur Verfügung steht. Der Aufruf der URL gibt die folgenden Daten zurück:

{
   "meta": {
       "count": 32,
       "limit": 10,
       "page": 1,
       "next_url": "/shop/products/?page=2&limit=10"
   },
   "products": [
       {
           "name": "Bananas",
           "product_url": "/shop/products/3"
       },
       {
           "name": "Oranges",
           "product_url": "/shop/products/10"
       },
       {
           "name": "Pineapples",
           "product_url": "/shop/products/33"
       },
       {
           "name": "Dried Pineapples",
           "product_url": "/shop/products/42"
       },
       {
           "name": "Cranberries",
           "product_url": "/shop/products/57"
       },
       {
           "name": "Mango fresh",
           "product_url": "/shop/products/62"
       },
       {
           "name": "Raspberries",
           "product_url": "/shop/products/90"
       },
       {
           "name": "Cherries",
           "product_url": "/shop/products/7"
       },
       {
           "name": "Apple",
           "product_url": "/shop/products/18"
       },
       {
           "name": "Green Grapes",
           "product_url": "/shop/products/11"
       }
   ]
}

Daten von mehreren Seiten zusammenfassen

Die Daten sind auf mehrere Seiten aufgeteilt. Für unsere Zwecke müssen wir sie zusammenfassen. Dazu eignet sich die Prozedur #http_loop_json.

In solchen Fällen hat es sich bewährt, das erst mal als Konsolen-Anwendung zu realisieren, und das dann in die konkrete Anwendung zu kopieren. Diese Konsolen-Anwendung würde wie folgt aussehen:

#frm  c="c_test_json"   y=console

#code   url=https://api.predic8.de/shop/products/
#code   nurl="https://api.predic8.de/shop/products/$STREXTR($JSON_VALUE(1,meta.next_url),ffe,/shop/products/)"
#code   ready=$EMPTY($JSON_VALUE(1,meta.next_url))
#http_loop_json   y=get    se=N   $CODE$   isc=Y   m=20

#coutl $JSON_TEXT(1,frm)

#cout  c="c_test_json executed"

Die Prozedur #http_loop_json verwendet y=get als Method, wir wollen schließlich Daten abfragen. Als url verwenden wir die Seite https://api.predic8.de/shop/products/.