如何在Yaws中路由?像ASP.NET MVC或Rails中的路由一樣。Yaws路由
當然Erlang是一種功能語言,沒有oo世界的概念;但是可以使用'action/2'函數將http:// [domain]。[com]/controller/action/arg1/arg2 /作爲GET請求傳遞給名爲'controller'的模塊(或者已經存在這樣的LIB)。
如何在Yaws中路由?像ASP.NET MVC或Rails中的路由一樣。Yaws路由
當然Erlang是一種功能語言,沒有oo世界的概念;但是可以使用'action/2'函數將http:// [domain]。[com]/controller/action/arg1/arg2 /作爲GET請求傳遞給名爲'controller'的模塊(或者已經存在這樣的LIB)。
雅司爲此提供了幾個方法:
appmod
,但因爲有提示的問題,這種方法沒有讓你擺脫「.yaws」後綴在您的網址上。.yaws
頁面,所以只有在您真的確實知道您在做什麼時才使用它。在這三種選擇中,我認爲重寫模塊是針對這個特定問題的最佳選擇。
我不知道是否有這樣的模塊,但我沒有看到這樣的模塊的好處:
out(Arg) ->
Uri = yaws_api:request_url(Arg),
Path = string:tokens(Uri#url.path, "/"),
Method = (Arg#arg.req)#http_request.method,
out(Arg, Method, Path).
out(_Arg, 'GET', [Module, Function | Args]) ->
apply(Module, Function, Args).
隨着一些錯誤處理等。順便說一句,好方法如何被黑客入侵。
你說得對。那麼,有沒有辦法在路上到處擺脫「[...]雅各派」? –
我認爲雅培文檔應該對這裏有幫助http://hyber.org/yapp_intro.yaws。 –