当您启用blueprints并运行sails lift时,框架会检查您的controllers,models和配置,以便自动绑定某些路由。 这些隐含的blueprint routes(有时称为“阴影路由”,甚至只是“阴影”)允许您的应用程序响应某些请求,而无需在config/routes.js文件中手动绑定这些路由。 默认情况下,blueprint routes指向其相应的blueprint actions(请参阅下面的“blueprint actions”),并且可以使用自定义代码覆盖。

sails有三种blueprint routes:

  • RESTful routes,路径始终为/:modelIdentity/:modelIdentity/:id。这些路由使用HTTP “verb”来确定采取的行动;例如对/userPOST请求将创建一个新用户,并且对/user/123DELETE请求将删除主键为123的用户。在生产环境中,RESTful路由一般应受到策略的保护,以避免未经授权的访问。
  • Shortcut routes,采取的行动在路径中编码。例如,/user/create?name=joe快捷方式创建一个新用户,而/user/update/1?name=mike更新用户#1。这些路由只响应GET请求。快捷路线非常适合开发,但一般应在生产环境中禁用。
  • Action routes,可自动为您的自定义控制器actions创建routes。例如,如果您有一个带有bar方法的FooController.js文件,那么只要启用了blueprint action routes,将自动为您创建一个/foo/bar路由。与RESTful和快捷路由不同,动作路由不要求controller具有相应的model文件。

请参阅blueprints subsection of the configuration reference,包括如何启用/禁用不同的蓝图路由类型。