Die Dokumentation ab Version 39.5.17 von PLANTA project finden Sie in der neuen PLANTA Online-Hilfe.

Allgemeines zu Web-Schnittstellen

Information
  • Eine Web-Schnittstelle definiert den Endpunkt, an dem mit PLANTA interagiert werden kann.
    • Web-Schnittstellen können im Modul Web-Schnittstellen angelegt und konfiguriert werden.
  • Pro Methode (GET, PUT, POST, DELETE) können eine Implementation und eine Web-Entität hinterlegt werden.
    • Die Implementation gibt vor, wie sich die Schnittstelle verhalten soll, wenn sie aufgerufen wird.
    • Eine Web-Entität
      • beschreibt das Objekt, welches mit den Web-Schnittstellen interagiert (z.B. die Werte, die ein GET-Request zurückgibt).
      • hat eine Bezeichnung und zeigt auf eine Datentabelle.
      • hat n Web-Attribute, die auf jeweils ein Dataitem aus der Datentabelle zeigen.
        • Web-Attribute haben einen Namen und optional eine Transformerklasse, die den jeweiligen Wert transformiert.
      • kann im Modul Web-Entitäten angelegt und konfiguriert werden.

Siehe auch: Web-Schnittstellen-Bibliothek

Hinweise

Ab DB 39.5.14

  • Um Web-Schnittstellen nutzen zu können, müssen die PLANTA link-Webservices in der web.conf aktiviert und konfiguriert sein:
  • Sind die Webservices nicht aktiviert, werden an manchen Stellen die Schaltflächen zur Ausführung verschiedener Aktionen, für die die Webservices erforderlich sind, nicht angezeigt.
  • NEU Web-Schnittstellen verwenden standardmäßig den Fully Qualified Domain Name (FQDN) als Adresse. Ist dieser nicht verfügbar, wird auf den Hostnamen der Maschine zurückgegriffen. Ist dieser nicht verfügbar, wird auf die IP der Maschine zurückgegriffen. Ein expliziter Hostname kann mit der Globalen Einstellung planta_link_hostname definiert werden.

Bitte für alle Felder in den Web-Schnittstellen-Modulen Groß-/Kleinschreibung beachten!

Ab DB 39.5.11

  • Um Web-Schnittstellen nutzen zu können, müssen die PLANTA link-Webservices in der web.conf aktiviert und konfiguriert sein:
  • Sind die Webservices nicht aktiviert, werden an manchen Stellen die Schaltflächen zur Ausführung verschiedener Aktionen, für die die Webservices erforderlich sind, nicht angezeigt.

Bitte für alle Felder in den Web-Schnittstellen-Modulen Groß-/Kleinschreibung beachten!

Bis DB 39.5.11

  • Um Web-Schnittstellen nutzen zu können, müssen die PLANTA link-Webservices aktiviert und konfiguriert sein:
  • Sind die Webservices nicht aktiviert, werden an manchen Stellen die Schaltflächen zur Ausführung verschiedener Aktionen, für die die Webservices erforderlich sind, nicht angezeigt.

Bitte für alle Felder in den Web-Schnittstellen-Modulen Groß-/Kleinschreibung beachten!

Methoden

Ab DB 39.5.16

Verhalten der Klasse DefaultServiceImplementation:
  • GET
    • Basierend auf der konfigurierten Web-Entität werden Daten aus der Datenbank abgerufen.
    • Mit einem URL-Filter kann die Auswahl beschränkt werden.
    • Wenn Daten gefunden werden, wird die Anfrage mit Statuscode 200 beantwortet (Response). Diese Antwort beinhaltet im Body eine json-formatierte Liste der Rückgabewerte.
    • Wenn keine Daten gefunden werden, wird die Anfrage mit Statuscode 404 beantwortet
  • PUT
    • Erwartet im Body des HTTP-Requests ein json-enkodiertes Dictionary, dessen Schlüssel auf die zugeordnete Web-Entität passen.
      • Wenn ein Attribut als NEU Muss-Feld PUT deklariert ist und im Request fehlt, schlägt der Request mit Statuscode 400 fehl.
      • Wenn ein zusätzliches Attribut im Request vorhanden ist, das nicht in der Web-Entität als Attribut vermerkt ist, schlägt der Request ebenfalls mit Statuscode 400 fehl.
    • Wurden die korrekten Attribute angegeben, lädt die Schnittstelle alle Zeilen aus der Datentabelle der Web-Entität, eingeschränkt durch den optionalen URL-Filter.
    • Die entsprechenden Daten werden mit den übergebenen Attributen des Requests aktualisiert.
    • Hat alles geklappt, kommt die Response mit dem Statuscode 200 zurück.
  • POST
    • Erwartet im Body des HTTP-Requests ein json-enkodiertes Dictionary, dessen Schlüssel auf die zugeordnete Web-Entität passen.
      • Wenn ein Attribut als NEU Muss-Feld POST deklariert ist und im Request fehlt, schlägt der Request mit Statuscode 400 fehl.
      • Wenn ein zusätzliches Attribut im Request vorhanden ist, das nicht in der Web-Entität als Attribut vermerkt ist, schlägt der Request ebenfalls mit Statuscode 400 fehl.
    • Wurden die korrekten Attribute angegeben, erstellt die Schnittstelle einen neuen Datensatz in der Datentabelle der Web-Entität.
    • Die Autonummer-DIs werden automatisch gefüllt, unabhängig davon, ob sie als Attribute in der Web-Entität angegeben sind.
    • Die übergebenen Werte werden in die entsprechenden Spalten geschrieben.
    • Hat alles geklappt, kommt die Response mit Statuscode 200 zurück.
    • Im Body der Response steht ein json-enkodiertes Dictionary, das die Python-IDs der Autonummern als Schlüssel und deren generierten Wert als Wert beinhaltet.
  • DELETE
    • Löscht alle Daten aus der Tabelle der Web-Entität, eingeschränkt durch den optionalen URL-Filter.
    • Wurde mindestens eine Zeile gelöscht, hat die Response den Statuscode 200
    • Wurden keine Daten gelöscht. bekommt die Response den Statuscode 404

Bis DB 39.5.16

Verhalten der Klasse DefaultServiceImplementation:
  • GET
    • Basierend auf der konfigurierten Web-Entität werden Daten aus der Datenbank abgerufen.
    • Mit einem URL-Filter kann die Auswahl beschränkt werden.
    • Wenn Daten gefunden werden, wird die Anfrage mit Statuscode 200 beantwortet (Response). Diese Antwort beinhaltet im Body eine json-formatierte Liste der Rückgabewerte.
    • Wenn keine Daten gefunden werden, wird die Anfrage mit Statuscode 404 beantwortet
  • PUT
    • Erwartet im Body des HTTP-Requests ein json-enkodiertes Dictionary, dessen Schlüssel auf die zugeordnete Web-Entität passen.
      • Wenn ein Attribut als Muss-Feld deklariert ist und im Request fehlt, schlägt der Request mit Statuscode 500 fehl.
      • Wenn ein zusätzliches Attribut im Request vorhanden ist, das nicht in der Web-Entität als Attribut vermerkt ist, schlägt der Request ebenfalls mit Statuscode 500 fehl.
    • Wurden die korrekten Attribute angegeben, lädt die Schnittstelle alle Zeilen aus der Datentabelle der Web-Entität, eingeschränkt durch den optionalen URL-Filter.
    • Die entsprechenden Daten werden mit den übergebenen Attributen des Requests aktualisiert.
    • Hat alles geklappt, kommt die Response mit dem Statuscode 200 zurück.
  • POST
    • Erwartet im Body des HTTP-Requests ein json-enkodiertes Dictionary, dessen Schlüssel auf die zugeordnete Web-Entität passen.
      • Wenn ein Attribut als Muss-Feld deklariert ist und im Request fehlt, schlägt der Request mit Statuscode 500 fehl.
      • Wenn ein zusätzliches Attribut im Request vorhanden ist, das nicht in der Web-Entität als Attribut vermerkt ist, schlägt der Request ebenfalls mit Statuscode 500 fehl.
    • Wurden die korrekten Attribute angegeben, erstellt die Schnittstelle einen neuen Datensatz in der Datentabelle der Web-Entität.
    • Die Autonummer-DIs werden automatisch gefüllt, unabhängig davon, ob sie als Attribute in der Web-Entität angegeben sind.
    • Die übergebenen Werte werden in die entsprechenden Spalten geschrieben.
    • Hat alles geklappt, kommt die Response mit Statuscode 200 zurück.
    • Im Body der Response steht ein json-enkodiertes Dictionary, das die Python-IDs der Autonummern als Schlüssel und deren generierten Wert als Wert beinhaltet.
  • DELETE
    • Löscht alle Daten aus der Tabelle der Web-Entität, eingeschränkt durch den optionalen URL-Filter.
    • Wurde mindestens eine Zeile gelöscht, hat die Response den Statuscode 200
    • Wurden keine Daten gelöscht. bekommt die Response den Statuscode 404

Siehe auch: Web-Schnittstellen-Workflows: GET, PUT, POST, DELETE

         PLANTA project









 
  • Suche in Topic-Namen

  • Suche in Topic-Inhalten
This site is powered by the TWiki collaboration platform Powered by Perl