ForgeTotal.js 5
el

Total.js 5

Έκθεση ενεργειών μέσω ενός μόνο API endpoint

Total.js 5 · total5@0.0.19 routingapiactions Εκτελέστηκε με το Total.js 5

Μια διαδρομή API δημοσιεύει ενέργειες κάτω από ένα URL. Ο client στέλνει πάντα POST με JSON body { "schema": "name", "data": { ... } } και το Total.js το δρομολογεί στην ενέργεια που έχει καταχωριστεί με αυτό το όνομα. Ένα URL, πολλές λειτουργίες: είναι το στυλ που μιλά η συνάρτηση API() του jComponent.

Το πρόθεμα του ονόματος καθορίζει τι γίνεται με το data:

  • +name: η είσοδος της ενέργειας είναι υποχρεωτική και επικυρώνεται
  • -name: η ενέργεια δεν δέχεται είσοδο
  • %name: μερική είσοδος (για patches)
definitions/math.js
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() });
	}
});
controllers/api.js
exports.install = function() {
	ROUTE('API /api/ +math_add --> Math/add');
	ROUTE('API /api/ -math_time --> Math/time');
};