Exposer des actions via un seul endpoint API
Une route API publie des actions sous une seule URL. Le client envoie toujours POST avec un body JSON { "schema": "name", "data": { ... } }, et Total.js le transmet à l'action enregistrée sous ce nom. Une URL, de nombreuses opérations : c'est le style que parle la fonction API() de jComponent.
Le préfixe du nom décide de ce qui arrive à data :
+name: l'entrée de l'action est obligatoire et validée-name: l'action ne prend aucune entrée%name: entrée partielle (pour les 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');
};