我想從我的服務中獲得可用的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. 自定義路徑生成器