我正在为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/ –