Szukaj…


Uwagi

Trasy to reguły, które podpowiadają Sailsom, co mają robić w przypadku przychodzącego żądania.

Trasy są zdefiniowane w config/routes.js . Kolejność tras jest znacząca, ponieważ trasy są dopasowywane od góry do dołu. Oznacza to, że jeśli masz określoną trasę, która może być również dopasowana do trasy z symbolem wieloznacznym, określoną trasę należy zdefiniować powyżej trasy z symbolem wieloznacznym.

Jeżeli wniosek dostanie się sails.js aplikacji łapie wszystkie parametry, które zostały z nim i udostępnia je dla ciebie jako params w obiekcie żądania.


Właściwości obiektu docelowego trasy zostaną przekazane do procedury obsługi trasy w obiekcie req.options. Poniżej znajdują się zastrzeżone właściwości, które mogą wpływać na zachowanie procedury obsługi trasy:

własność Obowiązujące typy docelowe Typ danych Detale
skipAssets wszystko Boolean Ustaw na true jeśli nie chcesz, aby trasa dopasowywała adresy URL z kropkami w nich (np. MyImage.jpg). Dzięki temu trasy z notacją wieloznaczną nie będą pasowały do adresów URL zasobów statycznych. Przydatne przy tworzeniu ślimaków URL.
skipRegex wszystko Regexp Jeśli pomijanie każdego adresu URL zawierającego kropkę jest zbyt liberalne lub potrzebujesz procedury obsługi trasy, aby pominąć całkowicie na podstawie różnych kryteriów, możesz użyć skipRegex . Ta opcja pozwala określić wyrażenie regularne lub tablicę wyrażeń regularnych, które będą pasować do adresu URL żądania; jeśli dowolne dopasowanie zakończy się powodzeniem, program obsługi jest pomijany. Zauważ, że w przeciwieństwie do składni powiązania modułu obsługi z wyrażeniem regularnym, skipRegex oczekuje _aktywnych obiektów RegExp, a nie łańcuchów.
miejscowi kontroler, widok, plan, odpowiedź Słownik Ustawia domyślne zmienne lokalne, które mają być przekazywane do dowolnego widoku renderowanego podczas obsługi żądania.
cors wszystko Słownik, wartość logiczna lub ciąg znaków Określa sposób obsługi żądań dla tej trasy z innego źródła.
zaludniać projekt Boolean Wskazuje, czy wyniki w akcji „Znajdź” czy „znajdź” powinny mieć wypełnione pola modelu. Domyślnie wartość ustawiona w config/blueprints.js .
pomiń , ogranicz , sortuj , gdzie projekt Słownik Ustaw kryteria dla schematu „znajdź”.

Niestandardowe definicje tras RESTful

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',
};

Przeadresować

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

Zdefiniuj zmienną niestandardową dla wszystkich widoków

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;
    };
  },
};

Pomiń zasoby (adresy URL z kropkami) z trasy ze znakiem zastępczym

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

Trasy z 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'
};

Ślimaki 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',
};

Parametry przekazane w adresie URL mogą być następnie dostępne w odpowiednich działaniach kontrolera za pomocą req.param('year') , req.param('month') itp.

Na przykład żądanie GET do /blog/2016/08/ BlogController.showMonthArchive /blog/2016/08/ wyzwala BlogController.showMonthArchive kontrolera BlogController.showMonthArchive , przy czym parametr req.param('year') ma wartość 2016 a parametr req.param('month') ma wartość 08 .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow