2015-08-11 7 views
3

Как написать собственный маршрут для подпапок внутри приложения парусов. Я отключил чертежи для подмены waterline ОРМ с mongoose после создания папки внутри контроллера я добавил следующий код в route.jsПользовательский маршрут в Sails Js

module.exports.routes = { 'post v2/my/create': 'v2/MyController.create' }; 

После выполнения всех этих я пытался вызвать API, но он показывает 404 Not Найдено Ошибка

ответ

2

в route.js добавить путь следующим

module.exports.routes = { 'post /v2/my/create': 'v2/MyController.create' }; 
2

Ваш маршрут не удается, потому что путь не хватает предшествующую косую черту. From the docs:

Примечание начальная/в пути - все пути должны начинаться с один в для того, чтобы работать должным образом.

Предполагая, что ваш контроллер находится в /api/controllers/v2/MyController.js, ваш путь управления should be correct:

Для файлов контроллера, сохраненные во вложенных папках, вложенная папка является частью идентичности контроллера:

'/do/homework': 'stuff/things/HomeworkController.do'

Интересно, что даже при поднятии с глупой регистрацией, неудачный маршрут пути не запускать какое-либо событие журнала. Возможно, это ошибка?

+0

Это не ошибка (пути без предшествующих косых черт могут использоваться для внутренней маршрутизации), но было бы неплохо, если бы оно выбрало предупреждение. – sgress454

+0

@ sgress454 вы можете немного разобраться? Возможно, я не понимаю, что вы подразумеваете под «внутренней маршрутизацией» - это относится к маршрутизатору [sails router] (https://github.com/balderdashy/sails/tree/master/lib/router) по сравнению с экспресс маршрутизатор? –

+0

Либо. Вы можете выпустить событие 'request' на маршрутизаторе Express или виртуальном (Sails) маршрутизаторе (см. Https://github.com/balderdashy/sails-hook-subapps/blob/master/index.js) или даже просто изменить' req.url' в политике и вызовите 'next ('route')'. В любом из этих случаев маршрут без предыдущей косой черты совершенно прав. Но он используется очень редко. – sgress454