Expor ações através de um único endpoint de API
Uma rota API publica ações sob um único URL. O cliente envia sempre POST com um body JSON { "schema": "name", "data": { ... } }, e o Total.js encaminha-o para a ação registada com esse nome. Um URL, muitas operações: é o estilo que a função API() do jComponent fala.
O prefixo do nome decide o que acontece a data:
+name: a entrada da ação é obrigatória e validada-name: a ação não recebe entrada%name: entrada parcial (para 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');
};