2
當定義組合處理程序例如通過使用defroutes
宏,我可以做這樣的事情:如何獲得組合處理程序中的自鏈接?
(defroutes home-routes
(GET "/myhome/:id" [ id ] (home-page)))
(defn home-page [ id ]
(... do something ...))
所以我知道如何通過一塊path參數。但想象一下,我想用自鏈接返回一個HAL + JSON對象。我如何獲得defroutes將整個URI傳遞給home-page
函數?
我記得和反向代理請求麻煩,即你有你的戒指服務器localhost':1234',但公共交通到達'domain.net:80' 。在這種情況下,至少':server-port'應該是1234。 (另外,如果協議不同,它不會變得更容易; IIRC你必須看看['X-Forwarded-For'](http://en.wikipedia.org/wiki/X-Forwarded-For)在那些情況下。) – xsc 2014-08-29 19:41:44
我正在使用Jetty,它提供了對「X-Forwarded-For」的支持(如果配置爲這樣做)。因此,Ring請求映射包含「公共」方案,服務器名稱和服務器端口。因此,即使使用反向代理,答案中的代碼也可以正常工作。 – ez121sl 2014-08-29 20:03:53