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.
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.
Neuen API Aufruf zum Projekt hinzufügen
Einen neuen REST-API-Aufruf können Sie über "Bericht hinzufügen" anlegen.
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.