Wie benutzen Sie das RestModel für SAPUI5?
Das RestModel benutzt den axios-Client, um HTTP-Calls gegen einen RESTful-Webservice abzuschicken. Axios ist ein HTTP-Client für Browser und node.js, der von Matt Zabriskie als Open-Source Projekt unter der MIT-Lizenz angeboten wird.
Das RestModel kann nun auf den bereits umfangreichen axios-Client aufbauen und schneidert die Funktionalitäten auf UI5-Ansprüche zu. So z.B. das Mapping von Destinations auf selbstdefinierbare Zugriffspunkte in der neo-app.json.
Folgende Funktionen stehen zur Verfügung:
Wie heissen die CRUD – Basics im RestModel?
- create – POST um Daten wegzuschicken,
- read – GET um sich Daten zu holen
- update – PUT um Daten zu verändern
- remove – DELETE um Daten zu löschen
Die CRUD-Funktionen des RestModels ähneln sich syntaktisch den ODataModel-CRUD-Funktionen. Dies wurde aus einem speziellen Grund so gewählt: Die Verwendung des RestModels soll sich gewohnt anfühlen.
So könnnen Sie zB. ein RestModel-Read folgendermaßen absenden:
this._oModel.read("/Customer", {
success: function (oData) {
oCodeEditor.setValue(JSON.stringify(oData, null, "\t"));
}.bind(this)
});
Dies sieht im 1. Moment aus wie ein Read des ODataModels.
Jedoch steht hier eine Instanz des RestModels dahinter.
this._oModel = new RestModel({
url: "<myservice.com/api>",
});
Mit dieser RestModel-Instanz und dem dahinterliegenden axios können Sie jetzt in gewohnter ODataModel-Manier Rest-Calls absetzen. So werden die CRUD-Methoden plus Parameter und Header unterstützt.
Das Resultat eines Requests lässt sich entweder über Callback-Funktionen oder auch per Promise abarbeiten. Somit ist man nicht mehr auf Success- und Error-Callback gebunden, sondern kann auf das Javascript Promise-Konzept zugreifen. Die zurückgelieferten Daten können z.B. in ein JSONModel geladen werden und an die View gebunden werden.
Recent Comments