Ricerca…


Osservazioni

I percorsi sono regole che indicano a Sails cosa fare di fronte a una richiesta in arrivo.

Le rotte sono definite in config/routes.js . L'ordine dei percorsi è significativo, poiché i percorsi sono abbinati dall'alto verso il basso. Ciò significa che se si dispone di una rotta specifica che potrebbe anche essere abbinata a un percorso con caratteri jolly, il percorso specifico deve essere definito sopra il percorso con caratteri jolly.

Quando una richiesta entra nella tua applicazione, sails.js acquisisce tutti i parametri forniti e li rende disponibili come params sull'oggetto richiesta.


Le proprietà nell'oggetto di destinazione del percorso verranno passate al gestore di route nell'oggetto req.options. Le seguenti sono proprietà riservate che possono influire sul comportamento del gestore di instradamento:

Proprietà Tipi di target applicabili Tipo di dati Dettagli
skipAssets tutti booleano Impostato su true se non si desidera che la route corrisponda agli URL con punti all'interno (es. MyImage.jpg). Ciò manterrà le rotte con la notazione jolly dagli URL corrispondenti delle risorse statiche. Utile durante la creazione di slug URL.
skipRegex tutti regexp Se saltare tutti gli URL contenenti un punto è troppo permissivo, o è necessario saltare il gestore di una rotta in base a diversi criteri, è possibile utilizzare skipRegex . Questa opzione consente di specificare un'espressione regolare o una matrice di espressioni regolari per abbinare l'URL della richiesta a; se una delle corrispondenze ha esito positivo, il gestore viene saltato. Si noti che, a differenza della sintassi per il binding di un gestore con un'espressione regolare, skipRegex aspetta _errual oggetti RegExp, non stringhe.
gente del posto controller, vista, blueprint, risposta Dizionario Imposta le variabili locali predefinite da passare a qualsiasi vista resa durante la gestione della richiesta.
cors tutti Dizionario o booleano o stringa Specifica come gestire le richieste per questa rotta da un'origine diversa.
popolare planimetria booleano Indica se i risultati di un'azione "trova" o "findOne" devono avere i campi del modello associati compilati. Il valore predefinito è impostato in config/blueprints.js .
saltare , limitare , ordinare , dove planimetria Dizionario Imposta i criteri per il progetto "trova".

Definizioni di route RESTful personalizzate

module.exports.routes = {
    'GET /foo': 'FooController.index',
    'GET /foo/new': 'FooController.new',
    'POST /foo/create': 'FooController.create',
    'GET /foo/:id/edit': 'FooController.edit',
    'PUT /foo/:id/update': 'FooController.update',
    'GET /foo/:id': 'FooController.show',
    'DELETE /foo/:id': 'FooController.delete',
};

Reindirizzare

module.exports.routes = {
  '/foo': '/bar',
  'GET /google': 'http://www.google.com'
};

Definisci variabile personalizzata per tutte le viste

module.exports.routes = {
  // This function will be executed for all http verbs on all urls
  'all /*', function (req, res, next) {
    // Expose the function `fooBar` to all views (via the locals object)
    res.locals.fooBar = function (arg1) {
      return 'foobar' + arg1;
    };
  },
};

Salta le risorse (URL con punti in esse) dal percorso con caratteri jolly

module.exports.routes = {
  'GET /foo/*': {
     fn: function(req, res) {
       res.send("FOO!");
     },
     skipAssets: true
  },
};

Percorsi con RegEx

module.exports.routes = {
    // sends matching regex (few patterns) as 'page' param
    'r|/foo/([0-9]+)|page': 'FooController.get',
    'r|/foo/(.*)|page': 'FooController.get',
    'r|/foo/(\\w+)|page': 'FooController.get'
};

Lumache di URL

module.exports.routes = {
  'GET /blog/:year/:month/:day/:posttitle/': 'BlogController.showPost',
  'GET /blog/:year/:month/:day/': 'BlogController.showDayArchive',
  'GET /blog/:year/:month/': 'BlogController.showMonthArchive',
  'GET /blog/:year/': 'BlogController.showYearArchive',
};

È quindi possibile accedere ai parametri trasmessi nell'URL nelle corrispondenti azioni del controller utilizzando req.param('year') , req.param('month') ecc.

Ad esempio, una richiesta GET a /blog/2016/08/ BlogController.showMonthArchive /blog/2016/08/ attiva l'azione del controller BlogController.showMonthArchive , con req.param('year') con valore 2016 e req.param('month') con valore 08 .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow