2013-05-25 110 views
7

我试图在我的yesod路由中以类似休息的方式指定查询,例如,是否可以在Yesod路由中指定查询参数?

mkYesod "HelloWorld" [parseRoutes| 
/HomeR GET 
/first/?count=#Int FirstR GET 
/second/?count=#Int SecondR GET 
|] 

但是这给了我以下错误:

The function `FirstR' is applied to one argument, 
but its type `Route HelloYesod' has none 

但如果我推说#Int回到是路径的一部分,它是所有罚款。我认为这是因为路线不是用参数生成的?

有没有一种方法可以让我在我的路线中指定该参数?

+2

这不是休息! (并且Yesod是REST):D为什么不简单地“/ first/count /#Int”? :) – josejuan

回答

10

不,目前的设置是不可能的,尽管这是我以前考虑过的一个补充。我没有这样做的主要原因是(1)它可能会使正常情况有点难以实现,(2)正如josejuan所提到的,通常(尽管不总是)可以将其转换为基于路线的参数。

+1

感谢您的回应,对我来说这不是一个问题,我把它们推回到URI中,我只是好奇(并沿着兔子洞走下去)。 – Khanzor

相关问题