我正在爲Yesod建立一個庫,我希望它能爲信用卡處理器Stripe提供一個接口。 (我計劃很快發佈它,因爲它的記錄不完善,我放棄了亞馬遜...)Yesod路由解析的解釋
我創建了一個子網站和類型類來處理Stripe API所需的路由。我設法弄清了我需要做什麼的「如何」,但我不太明白。
子網站有通過定義路線:
mkYesodSubData "Stripe" [parseRoutes|
/charge/#StripeId ChargeR POST
/customer/#StripeId CustomerR POST
|]
和家長有定義爲路線:
/payment/stripe StripeR Stripe appStripe
現在,我很好奇這行,其實就是。爲了進行比較,最其它途徑被定義,如:
/questions QuestionsR GET
據我明白,路徑產生器產生QuestionsR
數據類型,並調度/questions
到getQuestionsR
。但究竟什麼是路線產生與
/payment/stripe StripeR Stripe appStripe
這樣做,我想這一定要建立一個StripeR
類型。我知道appStripe :: App -> Stripe
。但是這些東西扮演什麼角色?解析器如何知道確保StripeR
將Stripe
路由之一作爲參數?幕後發生了什麼,並且GET
案件是另一種模式的特例?
選中此項:[Yesod和子網站:一個無腦](http://monoid.se/haskell/yesod-and-subsites/) ;這是:[Yesod Book - 創建子網站](http://www.yesodweb.com/book/creating-a-subsite);這更深的視線:[Yesod書的基礎 - 路由](http://www.yesodweb.com/book/basics) –
你的第一個鏈接似乎路由到垃圾郵件現在,僅供參考@GabrielRiba – Neikos
@Neikos我很抱歉鏈接,但那裏有一些有趣的東西。網絡發佈商可能不會續訂互聯網域名。這裏是舊的東西:http://archive.is/20130418103559/monoid.se/haskell/yesod-and-subsites/ –