Externe API Aufrufe

Zu einem NET Cloud Projekt können externe REST-API-Aufrufe hinzugefügt werden. Dabei kann es sich um REST Calls handeln, es kann aber auch jede andere API oder aber auch der GeoServer direkt angesprochen werden.  Die bereits eingerichteten API-Aufrufe werden in Tabellenform dargestellt und können bearbeitet oder auch gelöscht werden. 

Projekt_API__bersicht_1.PNG

Schnelländerungen der API URL, HTTP Methode und des Datentypes können auch auf Klick auf den entsprechenden Zelleneintrag geändert werden. Der "System Name" kann nicht geändert werden.

Der API Aufruf kann zu verschiedenen Projektlayern hinzugefügt werden und ist in dann in der Karte über diesen Layer verfügbar.

Projekt_API_Layer_hinzuf_gen_1.PNG

Projekt_API_in_Karte_1.PNG

Neuen API Aufruf zum Projekt hinzufügen

Einen neuen REST-API-Aufruf können Sie über "Bericht hinzufügen" anlegen.

Projekt_API__bersicht_1.PNG

Projekt_API_hinzuf_gen.PNG

Systembezeichnung eindeutiger im System vergebener Name
URL URL die beim Aufrufen angesprochen werden soll
HTTP Methode POST / GET
Datentyp Erwarteter Rückgabetyp des Aufrufes
Name Name der später im Formular angezeigt wird 
Beschreibung  Hier kann ein kurzer Text hinterlegt werden, was der REST Call zurück liefert, um den Nutzer darüber zu informieren.
Veröffentlicht Ob der Aufruf dem Nutzer zur Verfügung steht

 

Es besteht auch die Möglichkeit einen neuen API Aufruf durch "Kopieren" eines Bestehenden zu erstellen. Mit den Platzhaltern können attributspezifische Informationen mitgeschickt werden. Wenn zum Beispiel die FID eines Features zum REST Endpunkt übermittelt werden soll, muss der Platzhalter %feature.fid% in der URL hinterlegt werden.  

Im Tab "Erweitert" gibt es die Möglichkeit dem REST Call zusätzliche Parameter zu übergeben. Zusätzlich gibt es ein Feld für einen Header zum Übergeben von API Keys, sowie ein Feld für mögliche Funktionen die nach dem REST Call ausgeführt werden sollen. Dies könnte beispielsweise ein Trassenhighlighting sein, wenn der REST Call eine Liste von FID's zum Hervorheben zurückgibt.

Beispielcode Trassenhighlightning

async function (res) { var features = { "type": "FeatureCollection", "features": [] };
var ids = res.json(); let items = []; // Permanent tracings are removed only if a new
tracing is on the map. Non-permanent tracings are removed as soon as a new feature is selected
let zoom = false; let permanent = true; await ids.then(data => { data.forEach(item =>
{ items.push(item); map.eachLayer(function (layer) { if (layer.feature)
{ if (layer.feature.id === "tc_m_sp_segment." + item)
{ features.features.push(layer.feature); } } }); }); });
// If not all FIDs returned from the server are in the current viewport, then save the FIDs
in window
if (items.length > features.features.length) { window["tracingHighlight"] = items;
} else { window["tracingHighlight"] = undefined } var style = function (feature)
{ return {"color": "orange", "weight": 10} } if (features.features.length > 0)
{ window["tracingZoom"] = zoom; window["tracingPermanent"] = permanent;
highlightFeature("searchResultTemp", features, zoom, permanent, style); } }

In dem Tab "Attribute" können weitere Parameter angeben werden können (müssen, wenn "Erforderlich") die beim Absenden des REST Calls eingegeben werden. Der Nutzer erhält hier die Aufforderung ein OTDR Messergebnis mitzuteilen, welches an den Endpunkt zusätzlich übermittelt wird.