我想从我的服务中获得可用的API方法的完整列表。这主要是显示我们通过所有控制器暴露的API调用。我知道我可以反思sails.config.routes对象来获取定义的路由列表。然而,似乎没有一种简单的方法来获取“自动”为您生成的蓝图路线列表。现在有一种想法是,我可以用3种不同类型的蓝图生成(动作,休息和快捷方式)来假设一种特定模式。对于这个简单的事实,这是一个坏主意,这个框架处于起步阶段,而且事情可能会发生变化。我宁愿依靠一种方法来根据真正定义的内容来获取这个列表,如果它确实发生了变化,那么我的代码应该自动反映出来。生成和定义的sailsjs路由
1
A
回答
1
所以我挖成帆和帆依靠快递的所有路由在幕后。
在线路35上,我发现这个代码位帆源initialize.js。
// Create express server
var app = sails.hooks.http.app = express();
所以然后我搜索了其他人如何使用express输出api。所以这让我看到了不同的页面。 http://thejackalofjavascript.com/list-all-rest-endpoints/和How to get all registered routes in Express?,他们都非常有帮助。这也让我意识到,帆是使用3.4.3版本的快递而不是4.这是相当令人失望的考虑到快递4已经出来了近一年了。好吧,让我们谈谈问题的关键。所有内容都存储在sails.hooks.http.app.routes中,但是路由中存在大量重复,并且本身输出有点麻烦。这是我能够以更好的方式输出它的方式。
//where all routes are stored.
var routes = sails.hooks.http.app.routes;
var api = {};
var output = [];
for(var method in routes){
for(index in routes[method]){
var route = routes[method][index];
for(var opt in route){
if(api[method] === undefined){
api[method] = {};
}
if(api[method][route.path] == undefined && route.path !== "/*" && route.path !== "/"){
api[method][route.path] = route.params;
}
//output.push("("+typeof route + ")" + opt + " " + route[opt] + "<br/>");
}
}
}
for(method in api){
for(route in api[method]){
output.push(method + " " + route);
}
}
res.send(output.join("<br/>"));
我希望这对希望实现类似效果的其他人有帮助。我认为这种类型的数据没有以更好的方式暴露出来,这有点令人伤心。隐藏在我们的面前,我们必须通过开发者的代码来寻找和啄食。我的目标是要有一个服务调用,它将暴露一个使用我的api的angularjs服务,并且只会反映所有可用的方法。使这项服务更容易消耗,并且不需要手动进行任何映射。
享受!
相关问题
- 1. SailsJs和自定义路由冲突
- 2. 定制路由SailsJS和套接字
- 3. SailsJs中的动态路由
- 4. 在自定义生成器中生成嵌套路由
- 5. 生成的路径与自定义路由不符?
- 6. 自定义路由和i18n
- 7. SailsJS基于策略的路由视图
- 8. 路由定义
- 9. 自定义由JBoss生成的JSessionID
- 10. 自定义由EXT-JS生成的JSON
- 11. 由swig生成的自定义代码
- 12. 在laravel路由未定义的路由
- 13. Asp.Net MVC 4路由和链接生成
- 14. Symfony2缓存和路由生成
- 15. asp.net mvc,通过自定义路由生成url
- 16. Laravel在heroku上自定义https域不会生成https路由
- 17. 链式路由器都不能生成路由:路由
- 18. symfony无路由生成URL?
- 19. CodeIgniter - 动态生成路由
- 20. 数据包生成路由
- 21. laravel5生成路由密钥
- 22. ASP.Net MVC路由URL生成
- 23. Ruby on Rails生成路由
- 24. 使用symfony生成路由
- 25. 无法生成路由value_user_create
- 26. 自定义路由
- 27. Zuul路由定义
- 28. 如何从路由表中的路由生成路径/ URL?
- 29. 导轨路由错误(定义路由)
- 30. 自定义路径生成器