有没有办法快速添加处理程序到Yesod?

tay*_*onr 6 routing haskell yesod

我刚刚开始在Haskell和Yesod.为了让我的脚湿透,我将把我在MVC中编写的一个小项目转换为Haskell.我的第一步是确定所有路线.

总而言之,我有8个处理程序来运行这个项目.我的路线文件如下所示:

/activity ActivityR GET
/activity/#String ActivityItemR POST DELETE

/dashboard/month MonthDashboardR GET
/dashboard/year YearDashboardR GET

/calendar CalendarR GET

/events/calendar CalendarEventsR GET
/events/report ReportEventsR GET

/report ReportR GET
Run Code Online (Sandbox Code Playgroud)

我在添加这些路线时所经历的流程如下:

  1. 添加路由到配置/路由
  2. 在Handler文件夹中创建文件(我为每个路由父文件创建了一个文件,例如/ events或/ dashboard)
  3. 将导入添加到在步骤#2中创建的处理程序到Application.hs
  4. 将处理程序文件名添加到项目的cabal文件中

是否有快捷方式或通配符这些处理程序,以便我可以做类似的事情 Import Handler.*

或者是处理多个不同路由的处理程序模块较少的首选方法?

Mic*_*man 7

yesod命令行工具提供的命令add-handler将自动执行大部分的这一点.

  • 为了澄清这一点,您应该运行不带参数的“yesod add-handler”。它会提示您提供更多信息。如果你用参数调用它,你会得到一个有点令人困惑的“Usage: yesod add-handler”消息。 (2认同)