Actions über einen einzigen API-Endpunkt bereitstellen
Eine API-Route veröffentlicht Actions unter einer URL. Der Client sendet immer POST mit einem JSON-Body { "schema": "name", "data": { ... } }, und Total.js leitet ihn an die unter diesem Namen registrierte Action weiter. Eine URL, viele Operationen: Das ist der Stil, den die Funktion API() von jComponent spricht.
Das Präfix des Namens entscheidet, was mit data geschieht:
+name: Die Eingabe der Action ist erforderlich und wird validiert-name: Die Action nimmt keine Eingabe an%name: Teilweise Eingabe (für Patches)
NEWACTION('Math/add', {
name: 'Add two numbers',
input: '*a:Number, *b:Number',
action: function($, model) {
$.callback({ sum: model.a + model.b });
}
});
NEWACTION('Math/time', {
name: 'Server time',
action: function($) {
$.callback({ year: new Date().getFullYear() });
}
});exports.install = function() {
ROUTE('API /api/ +math_add --> Math/add');
ROUTE('API /api/ -math_time --> Math/time');
};