【发布时间】:2020-01-12 06:13:29
【问题描述】:
我正在编写一个 Yesod 应用程序,我需要在内部从 URL 或路由调用处理程序。
我的意思是,当您向 Yesod 发送请求时,有时会将 URL 解析为 Route,然后使用调度函数调用正确的处理程序。我希望能够手动调用这些函数,以便我可以从 URL 创建路由并调用适当的处理程序。
【问题讨论】:
-
如果我理解正确,您可以调用您编写的处理函数,就像调用任何其他函数一样。我假设我遗漏了什么或误解了什么?
-
问题实际上是找到正确的处理程序来调用。例如,给定“/a/1”,我想找到与路由“/a”对应的处理程序,将“1”应用到它并将结果传递给我。我可以将字符串转换为路线上的路线和模式匹配以找到正确的处理程序,但这已经是 Yesod 每次处理请求时所做的事情,所以我不想重新发明轮子,而是希望能够使用 Yesod机械。