2012-07-12 23 views
1

有沒有一種通過編程方式訪問路由(不通過http調用)的方法。以編程方式發佈到組合URL地址

如: (defroutes主路線 (POST 「/查詢」 「OK ......」))

我可以調用生成的defroutes宏 「查詢」 功能?

回答

1

defroutes創建一個與您傳遞給它的名稱相同的戒指處理程序。所以基本上你有一個戒指處理程序,即一個簡單的函數,它接收一個請求地圖並返回一個響應地圖。

在您的情況下,您可以通過傳遞具有uri關鍵字的正確響鈴請求映射對象來調用函數main-routes,以便將它傳遞給「/ query」處理函數。

+0

謝謝!我幾乎明白這一點!幾乎...現在需要弄清楚如何使環圖滿足它。 – 2012-07-12 06:44:04

+0

查看https://github.com/mmcgrana/ring/blob/master/ring-servlet/src/ring/util/servlet.clj ..'build-request-map'以供參考 – Ankur 2012-07-12 06:53:45

+0

正確的,也是強制性的覆蓋在這裏:https://github.com/mmcgrana/ring/blob/master/SPEC 所以我應該可以打電話: (main-routes {:uri ... etc})這麼簡單? (我正在嘗試,但得到404) – 2012-07-12 06:59:09

相關問題